Svn - gwenn/hypomnemata GitHub Wiki

Subversion Sucks DVCS wishlist

Pseudo-stashing

# local copy may have been edited
svn copy DOT_OR_TRUNK_URL TEMP_BRANCH_URL
svn switch TEMP_BRANCH_URL
svn commit -m "Stashed"
svn switch TRUNK_URL
#... hack away in trunk ...
svn commit -m "..."
svn merge TEMP_BRANCH_URL .
svn rm TEMP_BRANCH_URL
#... continue hacking

Patch

svn diff TRUNK_URL TEMP_BRANCH_URL > my.patch

Branch merging

Help

svn merge --reintegrate

Log

svn log --limit 5 --stop-on-copy

Rollback revision X

svn merge -r X:X-1 [myfile]

Custom diff viewer

$ alias svndiff="svndiff --diff-cmd $HOME/svndiff"
$ cat ~/svndiff
#!/bin/bash
shift 5;/usr/bin/gvimdiff -f "$@"
#/usr/bin/gvimdiff ${6} ${7}
$ chmod u+x ~/svndiff

Backup local changes

cut -d ' ' -f 7 svn.status | xargs zip -u local-changes.zip
svn st src/test/ | grep '^?' | cut -d' ' --output-delimiter=';' -f8

Global ignores

In ~/.subversion/config:

[miscellany]
global-ignores = *.iml .idea .settings

Proxy

In ~/.subversion/servers:

[global]
http-proxy-host = defaultproxy.whatever.com
http-proxy-port = 7000