Subversion存储库中的符号链接?

时间:2013-04-02 19:40:10

标签: svn symlink

我正在开发一个PHP和Java的小应用程序。它有一些图片,CSS和JS,必须在两者中共享。

我不希望这些文件重复,JS和CSS在两者中都必须相同。所以我喜欢这样,当我在一个地方改变它时,改变将被复制到另一个地方。

在Unix中,我们有符号链接,因此相同的文件/文件夹可以“存在”文件系统中的多个位置。在Subversion中我们有svn copy,但是一旦执行它们,两个副本就会变得独立。我希望将它们保持在一起,在一个副本中完成的提交也将应用于“其他”。

知道怎么做吗?

2 个答案:

答案 0 :(得分:16)

您在帖子中提及的是symlinks,而不是“影子链接”(我已编辑过帖子)。 Subversion可以对符号链接进行版本化,但另一种方法(因为目前Windows上的Subversion不支持符号链接)是使用Externals

不同之处在于,如果你使用Subversion外部,你实际上在你的系统上有两个文件副本(指向存储库中的同一个地方),而符号链接是文件系统上的一个文件

答案 1 :(得分:3)

您没有提到如何在svn中布置项目,或者您的java内容是如何构建的。这些都是很好的细节。

您希望了解依赖关系管理 - 而不是符号链接。正如@alroc指出的那样,颠覆的这个特征在某些平台上不起作用。

你真的不想要svn:externals。它们几乎一直是一个糟糕的交易,并且如果外部解析为同一个仓库中的某些东西,它总是一直存在。这已经涵盖了很多,The accepted answer here是一个很好的起点。

我建议你有一个java应用程序的回购,一个php内容的回购,然后可能是普通的回购。

您的构建(java)和部署(php)然后可以从存储库中解析相应版本的公共存储库工件(我建议您查看nexus或ar​​tifactory)