Subversion: Missing Features
I love many things about git, but I use Subversion at my day job. Two
git features please me enough that I took the time to build them into my svn
workflow: paged diffs and "commit -v." As of 15 September 2011, this script will
also diff properties using the command svn propdiff PROPNAME
.
This creates an svn less
subcommand that runs svn diff
with any other
arguments you provided, paging the result through less(1)
. It also provides a
custom environment variable to svn ci
, instructing Vim to split screen, set
some options suitable for a read-only diff, and run svn diff
on all files
included in the default commit message, i.e. the list of changed files. Finally,
it wraps svn propdiff
to highlight modifications to a property.
Any unrecognized subcommands (update, checkout, etc.) are passed through
unchanged. The automatic diff is only applied to the ci
subcommand, so the
svn commit
variant can be used when a diff is not required.
Installation
You can quickly grab this script with curl or wget:
bash$ curl https://raw.github.com/gist/1219371/svn > ~/bin/svn
Or similar.