A piggy bank of commands, fixes, succinct reviews, some mini articles and technical opinions from a (mostly) Perl developer.

svn basics, for git users

How to do stuff in subversion, when you're used to git:

# create a new branch
svn copy -m "Branching trunk" https://www.example.com/svn/repos/project/trunk https://www.example.com/svn/repos/project/branches/new_branch_name

# check out new branch
svn checkout https://www.example.com/svn/repos/project/branches/new_branch_name

# check status/diffs of working directory
svn status
svn diff

# show a specific commit
svn diff -c63197
svn diff -c63197 | vim -R -
svn diff -r63196:63197
svn diff -c63197 db/src/securesite/

# commit files
svn commit -m'Commit message' filename.ext

# see your changes after committing
svn update

# find where a branch was cut from trunk (svn equivalent of git mergebase)
# The last commit will be the first one in this branch after it was cut from trunk:
svn log -v --stop-on-copy

# cherry pick
svn merge -cXXXX trunk branch

# revert a commit
svn merge -c -REV .