How do you see recent SVN log entries?
Typing svn log
spits out an incredibly long, useless list on a command line. I have no idea why that is the default. If I wanted to read (or even could read) 300 entries on the terminal, I wouldn't mind typing svn log --full
or something similar.
Perhaps the SVN guys are thinking I wanted to feed that output to another program. However, if that is the case, it would make more sense to have the more verbose call for the program - not the terminal user.
Anyway, how do I see just some recent activity like the last 5 or 10 entries to see what changed?
limit
option, e.g.:
svn log --limit 4
svn log -l 4
Only the last 4 entries
Besides what Bert F said, many commands, including log
has the -r
(or --revision
) option. The following are some practical examples using this option to show ranges of revisions:
To list everything in ascending order:
svn log -r 1:HEAD
To list everything in descending order:
svn log -r HEAD:1
To list everything from the thirteenth to the base of the currently checked-out revision in ascending order:
svn log -r 13:BASE
To get everything between the given dates:
svn log -r {2011-02-02}:{2011-02-03}
You can combine all the above expressions with the --limit
option, so that can you have a quite granular control over what is printed. For more info about these -r
expressions refer to svn help log
or the relevant chapter in the book Version Control with Subversion
I like to use -v
for verbose mode.
It'll give you the commit id, comments and all affected files.
svn log -v --limit 4
Example of output:
I added some migrations and deleted a test xml file ------------------------------------------------------------------------ r58687 | mr_x | 2012-04-02 15:31:31 +0200 (Mon, 02 Apr 2012) | 1 line Changed paths: A /trunk/java/App/src/database/support A /trunk/java/App/src/database/support/MIGRATE A /trunk/java/App/src/database/support/MIGRATE/remove_device.sql D /trunk/java/App/src/code/test.xml
Pipe the output through less
or other pager:
svn log | less
In case anybody is looking at this old question, a handy command to see the changes since your last update:
svn log -r $(svn info | grep Revision | cut -f 2 -d ' '):HEAD -v
LE (thanks Gary for the comment)
same thing, but much shorter and more logical:
svn log -r BASE:HEAD -v