1
中發生更改的文件我需要知道哪些文件在Subversion主幹中發生了更改,哪些文件在特定分支上未發生更改,這兩個文件都發生了變化。在Subversion中,列表文件在樹幹上已更改但未在分支上發生更改,並且已在
目前我的方法是獲取主幹和分支中已更改文件的列表,並使用文件比較工具查看差異。
有沒有比這更好的技術?
中發生更改的文件我需要知道哪些文件在Subversion主幹中發生了更改,哪些文件在特定分支上未發生更改,這兩個文件都發生了變化。在Subversion中,列表文件在樹幹上已更改但未在分支上發生更改,並且已在
目前我的方法是獲取主幹和分支中已更改文件的列表,並使用文件比較工具查看差異。
有沒有比這更好的技術?
當你訪問一個UNIX shell(或uniq的,排序和SED工具),你可以做到以下幾點:
# getting the changed file list in trunk
svn diff --summarize /path/to/repos/[email protected] /path/to/repos/trunk | sed -e 's/......//' > changes-trunk
# the sed part removes the status columns, which might cause uniq to fail identifying equal files
# getting the changed file list of the branch
svn diff --summarize /path/to/repos/[email protected] /path/to/repos/branch/foobar| sed -e 's/......//' > changes-branch
# display the files which changed on both branches
sort changes-trunk changes-branch | uniq -d > possible-conflicts
# getting the base file list
svn ls -R /path/to/repos/[email protected] > files-base
# getting the list of files not changed in trunk
sed -e "s# /path/to/repos/[email protected]/##" changes-trunk | sort - files-base | uniq -u > untouched