来自单个文件夹中多个位置的SVN内容

时间:2014-03-05 14:39:01

标签: svn projects-and-solutions organization svn-externals

以下是该方案。 在svn存储库中,同一文件夹树下有多个文件夹。 说结构如下:

ProjectA
 |
 | - Folder1
 | - Folder2

现在在一个单独的文件夹树中:

ProjectB
 | - FromExternalProject (needs all contents of Folder1 & Folder2 in ProjectA)

优选地,所有内容应保持与外部相同的文件夹级别。使用文件外部是一个选项,但文件太多(差不多25个)。 我们不能从同一个文件夹中拥有多个文件夹外部,我们可以吗? 还有其他方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:0)

文件外部是我最初的想法,25个文件并不是那么多。你设置一次,然后使用它。

另一种选择是使用客户端钩子脚本。 Tortoise SVN客户端支持several of them。 SVN客户端将使用其原始文件夹中的文件,并且钩子脚本会在预提交,更新前和更新后脚本中将这些文件与工作文件夹中的相应文件同步。更新阶段如下所示:

  • 更新前:将文件从FromExternalProject复制到Folder1Folder2
  • 更新后:将文件从Folder1Folder2复制到FromExternalProject

提交阶段看起来像这样:

  • 预提交:将文件从FromExternalProject复制到Folder1Folder2

不需要提交后挂钩。

另一种选择是使用文件系统的功能,例如Windows和Linux中的symbolic links。该案例与前一个案例相同,但没有先前的挂钩,因为文件已经同步(因为它们是磁盘上的相同文件)。您仍需要在结帐后创建链接,手动运行脚本一次,或者在更新后的钩子脚本中。