在大多数(如果不是所有)子目录下都有.svn目录是否正常? - svn添加问题

时间:2013-09-04 04:24:06

标签: svn

对于SVN,我是新手。

我想在版本控制下的项目目录下应该只有1个.svn目录。例如,此类项目的层次结构应如下所示:

projectdir/
   .svn/
   subdir1/
   subdir2/
   ...  

我被前同事传递了1个项目目录,其中(令人惊讶地)在大多数子目录下都有.svn/目录:

projectdir/
   subdir1/
      .svn/
      ...
   subdir2/
      .svn/
      ...
   ...

我需要将这个项目放回我们的svn服务器上 我想知道在这些子目录下有这么多.svn/目录是否正常(我在尝试svn添加时遇到问题;我怀疑有人在过去使用svn做了一些有趣的事情)或者我可以删除所有这些子目录.svn/目录,只关心我项目根目录下的.svn/目录?

2 个答案:

答案 0 :(得分:10)

这取决于您正在运行的子版本分发,在版本1.7之前,工作副本中的每个目录中都有一个.svn目录。

查看Apache Subversion 1.7 Release Notes

您可以尝试使用svn upgrade

升级到新格式

答案 1 :(得分:4)

在SVN 1.7之前,每个子目录都包含隐藏的“.svn”目录。

从SVN 1.7开始“.svn”目录存储在工作副本的根目录和通过svn:externals下载的每个路径的根目录。

所以要么你的同事有较旧的SVN客户端版本,要么项目使用svn:externals。如果“.svn”位于每个子目录中,则“旧版本”更有可能。

在任何情况下,您都不应该只删除目录。如果是因为较旧的SVN客户端,只是尝试通过较新的TortoiseSVN使用此副本 - 它将建议工作副本升级。或者只是查看一份新的工作副本。