<<

Daily Usage Branching and Tagging Bug fixing Properties Check out a working copy Create directories a single- bugfix from a re- Setting a property svn checkout URL path svn mkdir \ lease branch to trunk svn propset propname \ Check out a specific revision svn://…/tags -m “tags” svn update propvalue path… svn checkout -r rev URL path Create a release branch svn merge -rrev-1:rev \ Edit a property Information about a working copy svn copy \ svn://…/branches/RB-x.y svn propedit propname path… svn info path svn://…/trunk \ Create a branch for complex bug fixing List properties svn://…/branches/RB-x.y Add a file or directory svn copy \ svn proplist path… svn add path… Checkout a release branch svn://…/branches/RB-x.y \ Content of a property svn checkout \ svn://…/branches/BUG-track Remove a file or directory svn propget propname path… svn://…/branches/RB-x.y svn copy \ svn remove path... Delete a property Switch a working copy to a release branch svn://…/branches/BUG-track \ svn propdel propname path… Update a working copy svn://…/tags/PRE-track svn switch \ Ignore all files in a directory svn update Checking out a bug fix branch svn://…/branches/RB-x.y svn propset svn:ignore “*” path Update specific items Switch a working copy back to trunk svn checkout \ svn update path… svn://…/branches/BUG-track Make a file executable svn switch \ svn propset svn:executable \ Check in changes Tag the end of a bugfix branch svn://…/trunk true path… svn commit -m “Message” Create a release tag svn copy \ Status codes svn copy \ svn://…/branches/BUG-track \ Locking First column (items) svn://…/branches/RB-x.y svn://…/tags/POST-track Enable locking on a file No modifications svn://…/tags/REL-x.y Merge complex bugfix with a release svn propset svn:needs-lock \ A Added Check out a release branch true file… C Conflicted svn checkout \ cd RB-x.y svn commit file… \ -m “Enabled locking” D Deleted svn://…/tags/REL-x.y svn merge \ Obtain a lock on a file G Merged Find out when a release was created svn://…/tags/PRE-track \ svn lock file… -m “lock comment” I Ignored svn log --stop-on-copy \ svn://…/tags/POST-track Release a lock on a file M Modified svn://…/branches/branch File magic svn unlock file… R Replaced Experimenting Copying a file or directory View lock information X Unversioned, used as external Create an experimental branch svn copy source destination svn info file… | grep Lock ? Unversioned svn copy \ Moving a file or directory Break another user’s lock ! Missing svn://…/trunk \ svn move source destination svn unlock --force URL - Obstructed by another item svn://…/branches/TRY-initials- Renaming a file or directory mnemonic Steal another user’s lock Second column (properties of the item) svn rename oldname newname Use an experimental branch Show changes svn lock --force file… \ No modifications -m “lock message” C Conflicted svn switch \ svn path… svn://…/branches/TRY-initials- Compare two revisions M Modified mnemonic Third column (working copy lock) svn diff -rrev1:rev2 file… Return to the trunk Compare with latest revision Not locked svn switch svn://…/trunk L Locked svn diff -r HEAD file… Merge an experimental branches Show most recent changes Subversion Cheat Sheet 1.0.1 svn log --stop-on-copy \ svn diff -r PREV:BASE file… svn://…/branches/TRY-initials- by Ariejan de Vroom mnemonic Create a patch file svn diff > patchfile cd trunk-working-copy Find updates at: svn merge \ Apply a patch file -r branch-start-revision:HEAD \ patch -p0 -i patchfile http://ariejan.net/svncheatsheet svn://…/branches/TRY-initials- Revert to a commit change mnemonic svn merge -r rev:rev-1 path… More Subversion articles: http://ariejan.net/tags/subversion