如何测试一个文件在所有存在的分支中是否相同?
即使构建脚本的伪代码也会有所帮助。SVN,测试它存在的所有分支中的文件是否相同
谢谢。
编辑: 我不得不对5个分支的约900个文件执行此操作。很长的故事。
事实证明,最简单的做法是只检查一切,并使用标准的命令行工具来完成这项工作。
谢谢大家的建议。
如何测试一个文件在所有存在的分支中是否相同?
即使构建脚本的伪代码也会有所帮助。SVN,测试它存在的所有分支中的文件是否相同
谢谢。
编辑: 我不得不对5个分支的约900个文件执行此操作。很长的故事。
事实证明,最简单的做法是只检查一切,并使用标准的命令行工具来完成这项工作。
谢谢大家的建议。
最简单(最快)的方法是比较文件的版本号,因为分支和标记不会改变它们。
如果你按照这个路径,你不检查身份,但如果文件是在分支中更改,这通常更重要。
因此,如果有人将文件更改为文件,然后反向合并回旧版本,则会报告虚警。为避免这种情况,您可以区分具有不匹配版本的文件。
您可以通过
svn ls -vR REPO_URL/path/to/file
或漂亮的XML获得最新修订版中的所有文件的版本号:
svn ls --xml -R REPO_URL/path/to/file
如果你知道,该文件路径(相对距离trunk)在整个存储库中都是唯一的,您可以使用grep获取所有分支文件:
svn ls -vR REPO_URL/ | grep /path/to/file/without/trunk
然后,你必须有所有相关信息,只是需要解析。(但SVN LS -vr REPO_URL /是真的慢)
像下面这样的东西?
foreach(branch in project/branches/*) svn diff project/trunk/relative_path_to_file branch/relative_path_to_file
下面是一篇关于分支之间的版本比较http://www.murrayc.com/blog/permalink/2007/01/25/subversion-diff-between-branches/ – 2009-10-30 14:49:32