In svn, I have a branch which was created, say at revision 22334. Commits were then made on the branch.
How do I get a list of all files that were changed on the branch compared to what's on the trunk? I do not want to see files that were changed on the trunk between when the branch was created and "now".
This question is related to
svn
svn log -q -v
shows paths and hides comments. All the paths are indented so you can search for lines starting with whitespace. Then pipe to cut
and sort
to tidy up:
svn log --stop-on-copy -q -v | grep '^[[:space:]]'| cut -c6- | sort -u
This gets all the paths mentioned on the branch since its branch point. Note it will list deleted and added, as well as modified files. I just used this to get the stuff I should worry about reviewing on a slightly messy branch from a new dev.
This will list only modified files:
svn status -u | grep M
You can use the following command:
svn status -q
According to svnbook:
With --quiet (-q), it prints only summary information about locally modified items.
WARNING: The output of this command only shows your modification. So I suggest to do a svn up
to get latest version of the file and then use svn status -q
to get the files you have modified.
echo You must invoke st from within branch directory
SvnUrl=`svn info | grep URL | sed 's/URL: //'`
SvnVer=`svn info | grep Revision | sed 's/Revision: //'`
svn diff -r $SvnVer --summarize $SvnUrl
-u option will display including object files if they are added during compilation.
So, to overcome that additionally you may use like this.
svn status -u | grep -v '\?'
You can also get a quick list of changed files if thats all you're looking for using the status command with the -u option
svn status -u
This will show you what revision the file is in the current code base versus the latest revision in the repository. I only use diff when I actually want to see differences in the files themselves.
There is a good tutorial on svn command here that explains a lot of these common scenarios: SVN Command Reference
Source: Stackoverflow.com