SVN branch compare
Solution 1
You could start with:
svn diff http://REPOS/trunk http://REPOS/branches/B
(Where http://REPOS
is your repository path including the parents of trunk
and branches
.)
This will print a large quantity of text, including all the textual changes but not the binary changes except to say where and when they occurred.
Solution 2
If you are just looking for high level of what files are different and do not want to see all the contents, use:
svn diff ^/trunk ^/branches/dev --summarize
(This compares trunk and dev branch)
Solution 3
I usually check out the two branches (or the branch and the trunk) into directories. Then I use a graphical tool like Kompare or similar (depending on your preferences, operating system,...). This is really helpful for me when I need to perform complex merges.
Solution 4
As lack of reputation won't let me add this as a comment against an existing answer, I'm having to add it as a separate one.
A useful option to svn diff
for me was --ignore-properties
. My two branches had ended up identical code wise, but with different merge histories.
Using --ignore-properties
allowed me to prove to myself that this was the case, without wading through the large quantity of "svn:mergeinfo" property changes.
Solution 5
Thanks for the info guys, I would add something to improve the readability of the diff results.If you used: svn diff svn://url:9090/branches/PRD_0002 svn://url:9090/branches/TST_0003 >svn_diff_filename.txt
You can use: findstr "Index:" C:\path\svn_diff_filename.txt >svn_diff_file_list.txt
That will bring you a readable list of files that have any differences.
tekumara
Updated on July 21, 2022Comments
-
tekumara almost 2 years
How do I compare one branch with another? I want to compare a branch with the latest revision in trunk.
-
SimonJ over 14 yearsWon't this just tell you what's changed in
trunk
since the last commit to the branch? Apologies if I'm missing something - it's getting late here... -
Ether over 14 yearsYou don't need to look for the latest revision number in each branch: simply use
HEAD
. But this isn't what the OP was asking for -- he wanted to compare between his branch and trunk, not between two revisions in the same branch. -
tekumara over 14 yearsThanks! Your answer led me to this tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-diff.html which explains how to do the same with TortoiseSVN
-
cchamberlain over 8 yearsShorthand ->
svn diff ^/trunk ^/branches/B
-
Sandburg almost 6 yearsIs there a way to hide the inner diff part? That means to only show revision, author, date, file list.
-
ephemerr over 3 yearsFor me in Linux I have to use escapes:
svn diff \^/[SUBPROJECT]/develop \^/[SUBPROJECT]/feature/myfeature/