有没有办法使用subversion或任何其他VCS,我可以将.svn目录中的签出文件保存在与其“归属”的目录不同的位置。例如,有一些toplevel / work / my-source-tree和/ work / my-source-tree-svn目录?
我知道为什么文件在.svn目录中重复(快速检测签入时更改的文件和简单的工具支持)。但我经常想要在USB记忆棒上备份文件,并且传输双倍数量的文件是一个显而易见的。
答案 0 :(得分:10)
使用svn export
将文件复制到干净的目录(即USB记忆棒)。它不会复制.svn
目录。这也适用于工作副本:
svn export <path-to-working-copy> <destination-directory>
答案 1 :(得分:8)
使用CVS,SVN和其他版本控制系统,您可以进行导出。这允许您获得没有.svn或其他隐藏目录的代码副本。
答案 2 :(得分:5)
svk是一个在subversion之上的图层,它添加了一些额外的功能。一个关键特性是元数据保存在$ HOME / .svk /而不是每个工作副本中。这将两者分开,使备份更容易,工作副本更小。
另外,它还提供了一些分布式版本控制功能,如git和其他功能 - 但仍然使用svn作为后端。可能值得一试。
答案 3 :(得分:3)
您可以使用rsync备份到USB记忆棒,并使用--cvs-exclude选项。根据您的版本,这可能不适用于subversion文件,因此请尝试--exclude ='。svn / *'
答案 4 :(得分:1)
cd svn-local-dir
find . -name .svn | xargs rm -rf
答案 5 :(得分:0)
FWIW,这在Subversion 1.7中不再是一个问题。
Subversion 1.7工作副本在工作副本的根目录中只有一个.svn目录,而不是工作副本中每个目录中的.svn目录。 (Subversion 1.7 Release Notes)