8

我是 SVN 的新手。

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

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

一位前同事向我传递了 1 个项目目录,该目录(令人惊讶的是).svn/在大多数子目录下都有目录:

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

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

4

2 回答 2

10

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

查看Apache Subversion 1.7 发行说明

您可以尝试使用升级到新格式svn upgrade

于 2013-09-04T04:33:02.737 回答
4

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

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

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

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

于 2013-09-04T04:40:53.877 回答