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