Random SubVersion notes.

Status Characters

 Char   Meaning 
 U   Updated your (unmodified?) copy to the latest version 
 C   Conflict while updating 
 M   Modified - your local version has changes that aren't in the latest version 
 G   Merged - your modified version had patches applied from the latest version 

Flagging a file as executable

svn propset svn:executable on filename

Merging issues

If you change the name of a file remember to include the old name at the end of the merge, or you will get a weird error message.

svn merge new.c -r1:5 ../old/prevnew.c
If automatic merging fails, after manually editing the file, remember to announce the conflict as resolved
svn resolved new.c

Deleting directories

After svn delete, you must manually delete the directory afterwards, otherwise the next svn commit will fail with a weird error message.

This might be fixed in 1.1.14.

Removing revisions from a repository

If you want to remove the last X revisions from a repository, you can do it this way
svnadmin create repo2
svnadmin dump -r 0:173 repo1 | svnadmin load repo2

This creates a new repository called repo2 and dumps revisions 0 to 173 (inclusive) from repo1 into it.

Getting rid of external items in your repository

svn propdel svn:externals

Checking out a project to use

If you want to checkout a local repository into the current directory type
svn co file:///home/my-svn-dir/name-of-my-repository .

SVN+SSH on a port other than 22

Open the file ~/.subversion/config in your favorite text editor.
In the section [tunnels] add a line like follows (for port 222):

ssh2 = $SVN_SSH ssh -p 222

Then check out your repository using the new tunnel:

svn co svn+ssh2://my.svn.server/path/to/svn