如何在我的subversion工作副本中有可选的附加或忽略文件?

时间:2011-10-06 00:44:25

标签: svn

我通常会将这样的文件与符号链接连接到项目根目录之外,其中可选文件可以链接到单独的repo URL。麻烦的是,现在我有一大堆文件和目录,这些文件和目录必须与repo中的其他文件位于相同的目录中,我可选地不希望在某些工作副本中存在这些文件和目录。我真的不想为所有这些文件和目录制作符号链接。我想知道是否有更好的方法。

我认为一个例子可能最好地解释它:( WC代表工作副本)

WC1:

  • dir_1
  • file_1

WC2:

  • DIR_1
  • file_1

但是我还有另外2个工作副本,我想保持连接,其中包含前2个文件的所有文件,加上我需要的更多文件只出现在工作副本3和4中:

WC3:

  • DIR_1
  • DIR_2
  • file_1
  • file_2

WC4:

  • DIR_1
  • DIR_2
  • file_1
  • file_2

我希望能够在WC3和WC4中对file_1或dir_1进行修改,并能够使用这些提交更新WC1和WC2。我还希望它在另一个方向上工作,以便可以在WC3和WC4中更新提交给WC1或WC2的修改。我希望能够在WC3和WC4上存在file_2和dir_2,但WC1和WC2上不存在(我不希望WC1和WC2知道或注意到它们的修改)。我还希望能够在WC3或WC4上对file_2或dir_2进行修改,并在具有这些文件的其他工作副本(WC3或WC4)上更新这些提交。

有没有办法让每个工作副本的目录属性设置不同?因此,我们的想法是忽略SPECIFIC工作副本上的文件和目录集合,同时保持在其余部分更新它们的能力?只是一个想法..

有意义吗?我该怎么做?

2 个答案:

答案 0 :(得分:1)

最好通过在存储库级别拆分它并为这些WCs使用不同的URL来实现这一点(我想这只是可行的方式)。通过使用SVN svn:externals属性,您可以组合所需的文件/目录。

/shared1
   dir_1
   file_1

/shared2
   dir_2
   file_2

/proj1  -> external to /shared1 
/proj2  -> external to /shared2 
/proj3  -> external to /shared1 
        -> external to /shared2 
/proj4  -> external to /shared1 
        -> external to /shared2 

答案 1 :(得分:0)

你想要以任何方式不可能获得SVN

您可以尝试使用单独的分支(TBT)模拟1 + 2 | 3 + 4