如何測試一個文件在所有存在的分支中是否相同?
即使構建腳本的僞代碼也會有所幫助。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