我碰巧在版本化目录之外修改或生成文件或整个目录树。
问题在于,无论何时将树复制回svn版本目录(例如在MacOSX中使用Finder),.svn目录都会被覆盖,Subversion开始抱怨。什么是解决方案?
由于
答案 0 :(得分:1)
可以在版本化目录之外修改文件,稍后将其复制回来。但是,版本化目录包含有关其包含的文件的隐藏数据,并且覆盖目录不起作用。
我认为没有理由在版本化目录之外工作,作为结论,我鼓励您阅读SVN书籍,特别是“移动”部分:http://svnbook.red-bean.com/en/1.1/re18.html
答案 1 :(得分:1)
您的问题的答案是使用或3-URL合并
<强> svn_load_dirs.pl 强>
请参阅这些具有极其相似主题的问题:
best way to replace a whole directory tree in subversion(关于svn_load_dirs.pl)
are there any alternatives to svn_load_dirs.pl?(3-URL-merge)
注意:只需在新版本上复制目录, NOT 即可删除当前版本中删除的文件。这些文件将不变,这至少令人困惑,大部分时间都是烦恼,有时甚至是错误
答案 2 :(得分:0)
使用一些严肃的实用程序(例如在Windows上我使用Total Commander,我希望MAC存在这样的实用程序)。此类工具具有允许您指定要复制的内容和要跳过的内容的选项。如果push推进 - 编写一个复制所有内容的简单shell脚本,但.svn目录。
此外,SVN 1.7工作副本格式在常规情况下仅在工作副本的顶层具有.svn。因此,切换到1.7可能会稍微简化您的工作流程。
答案 3 :(得分:0)
切换到svn客户端v1.7并将工作副本更新为1.7格式。它将所有元数据保存在woking copy根文件夹的单个子文件夹中。希望,它有助于解决您的问题。