我碰巧在版本化目录之外修改或生成文件或整个目录树。
问题是,每当我将树复制回 svn-versioned 目录(例如 MacOSX 中的 Finder)时,.svn 目录都会被覆盖,Subversion 开始抱怨。有什么解决办法?
谢谢
我碰巧在版本化目录之外修改或生成文件或整个目录树。
问题是,每当我将树复制回 svn-versioned 目录(例如 MacOSX 中的 Finder)时,.svn 目录都会被覆盖,Subversion 开始抱怨。有什么解决办法?
谢谢
您的问题的答案是使用 3-URL-merge
svn_load_dirs.pl
请参阅这些具有极其相似主题的问题:
在颠覆中替换整个目录树的最佳方法(关于 svn_load_dirs.pl)
svn_load_dirs.pl 有什么替代品吗?(3-URL 合并)
注意:简单地在新版本上复制目录不会删除在当前版本中删除的文件。这些文件将保持不变,这至少是令人困惑的,大多数时候是烦恼,有时甚至是错误
可以在版本化目录之外修改文件并稍后复制回来。但是,版本控制的目录包含有关其包含的文件的隐藏数据,并且覆盖目录是行不通的。
我认为没有充分的理由在版本目录之外工作,作为结论,我鼓励您阅读 SVN 书籍,尤其是“移动”部分:http ://svnbook.red-bean.com/en/1.1/ re18.html
使用一些重要的实用程序(例如在 Windows 上我使用Total Commander,我希望 MAC 存在这样的实用程序)。此类工具具有允许您指定要复制的内容和要跳过的内容的选项。如果迫不得已 - 编写一个简单的 shell 脚本来复制所有内容,但 .svn 目录。
此外,SVN 1.7 工作副本格式在正常情况下仅在您的工作副本的顶层具有 .svn。因此切换到 1.7 可能会在一定程度上简化您的工作流程。
切换到 svn 客户端 v1.7 并将工作副本更新为 1.7 格式。它将所有元数据保存在 woking 副本根文件夹的单个子文件夹中。希望对您的问题有所帮助。