我从所有目录中删除了.svn
个文件,以减少文件大小。现在我想在所有目录中添加.svn
文件。是否可以将.svn
文件再次添加到所有目录中,如前所述。
修改
其实我想把我的整个代码复制到笔式驱动器上。大小为12 GB。它是以比特范围的速度复制的。对于时间消耗,我删除了所有.svn
个文件。从所有目录中删除.svn
后,我的大小为7 GB。不幸的是我不敢备份。删除所有.svn
文件后,我才知道我没有任何回复。现在我想为所有目录添加.svn
文件。因为如果我做新结账,则需要花费越来越多的时间。这就是为什么我问有没有可能再次添加.svn
文件。我也最了解svn
。我的错误发生了。如果我得到任何解决方案,那将很容易。所以只有我问过这个问题。
答案 0 :(得分:3)
.svn
是 目录 。在Subversion客户端1.6及更低版本中,它们出现在Subversion控件下的每个目录中。在Subversion 1.7及更高版本中,它只在工作目录的根目录中。
.svn
目录占用空间。在1.6之前的版本中,它实际上包含了您检出的每个文件的重复条目 - 比工作目录的大小多一倍。但是,删除它会破坏您的工作目录。 Subversion不再知道您的结账地点,结账状态或任何其他信息。如果您不需要.svn
文件(例如,您正在进行部署),则可以使用svn export
来下载所有文件,但不会删除.svn
目录。
您没有解释为什么删除了,现在想要重新添加这些目录。您不能简单地重新生成它们。您必须对项目进行新的检查,在旧的工作目录和新工作目录之间使用某种差异来确定更改,并将这些更改复制回工作目录。在Ubuntu中,您可以使用diff -r --brief
查找哪些文件不同(忽略仅存在于一个目录中的所有.svn
警告)。如果您真的很好,可以使用diff
创建一个补丁以应用于新的工作目录。
如果要导出存储库,请使用svn export
。如果您正在进行开发,请使用svn checkout
,不要触摸那些.svn
目录。
当计算机默认情况下现在有1/2太字节的磁盘空间时,房间不再是问题。您可以通过仅查看所需项目或使用sparse checkout来限制结帐。
我还建议您使用SVN 1.7或更高版本,它应该适用于任何Subversion服务器。不再支持早期版本。