Created
April 30, 2014 14:43
-
-
Save boye/fc6610fee2d4638720d9 to your computer and use it in GitHub Desktop.
SVN Cheatsheet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Creating a new repository: | |
mkdir /path/to/new/dir | |
svnadmin create /path/to/new/dir | |
Starting svnserve: | |
svnserve --daemon --root /path/to/new/repository | |
Importing project into svn repo: | |
$ svn import -m "Wibble initial import" svn://olio/wibble/trunk | |
Creating directory in svn repo: | |
$ svn mkdir -m "Create tags directory" svn://olio/wibble/tags | |
Branching: | |
$ svn copy http://svn.example.com/repos/calc/trunk \ | |
http://svn.example.com/repos/calc/branches/my-calc-branch \ | |
-m "Creating a private branch of /calc/trunk." | |
Committed revision 341. | |
Diff / Merge: | |
$ svn diff -rHEAD filename # changes in repository | |
$ svn diff -rPREV:BASE filename # most recent change | |
$ svn diff -r 343:344 http://svn.example.com/repos/calc/trunk | |
$ svn merge -r 343:344 http://svn.example.com/repos/calc/trunk | |
U integer.c | |
$ svn status | |
M integer.c | |
Rollback: | |
$ svn merge -r 100:99 . | |
$ svn commit -m "Rollback to revision 99" | |
Committed revision 101. | |
Make a patch against the rails source: | |
(in /vendor/rails/) $ svn diff > your_patch_name.diff | |
Edit a dir's ignores: | |
$ svn propedit svn:ignore your_dir_name | |
Set a dir's ignores: | |
$ svn propset svn:ignore "ignore1 ignore2" your_dir_name | |
Switch a working copy to another URL | |
$ svn switch --relocate http://server1:/svn/trunk/ http://server2/svn/trunk/ . | |
Add all unversioned files in your working copy | |
$ svn add --force . | |
See all local changes live in a terminal | |
$ watch 'svn st --ignore-externals|grep -v ^X' | |
Find all new files, or unversioned files | |
$ svn status | grep "^\?" | awk "{print \$2}" | |
Find all changes, ignoring unversioned files | |
$ svn status -uv 2>/dev/null | egrep "^([^\? ]| \*)" | |
(There are 7 spaces before the \*, which don't show up on some browsers) | |
Set up externals dependency | |
$svn propset svn:externals "dataacccess svn://olio/dataaccess/trunk" maitai | |
$svn commit -m "Added dataaccess project as an external" | |
Log: | |
$ svn log -v filename | |
$ svn log -r6 filename | |
$ svn log --stop-on-copy | |
File statuses: | |
C - Conflict | |
G - Merged our changes with update (locally) | |
U - Updated a file | |
UU - Update to file AND properties | |
M - Modified | |
A - Added | |
D - Deleted | |
Resolve Conflicts: | |
$ cp Number.txt.mine Number.txt; svn resolved Number.txt | |
$ svn revert Number.txt | |
Additional Commands: | |
$ svn add --non-recursive directory_name | |
$ svn co -r7 url directory | |
$ svn propedit svn:ignore *.bak |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment