Tutorial On Subversion
Tutorial On Subversion
Motivation
Collaboration
Repository vs working copy Know who to blame Oops, I think I just broke something No excuses if a demo fails rm -fr * Enter AAAAAAAAAAAAAAAARGH!
Roll back
Disaster relief
Basic Concepts
Repository
File system file://URL SSH tunneling svn+ssh://URL Proprietary protocol svn://URL Standard protocols http://URL, https://URL
Working copies
Common Practices
trunk: cutting-edge stuff (HEAD) tags: usually for check points or histories branches: for massive reorganizations Tagging is cheap because of copy-on-write
Gentoo: emerge subversion Ubuntu: apt-get install subversion Fedora Cores: yum install subversion svnadmin create --fs-type bdb /foo/bar
Create a repository
add: svn add foo cat: svn cat svn://foo checkout (co): svn co svn://host.com/dir/proj commit (ci): svn commit -m log message copy (cp): svn cp svn://foo svn://bar delete (rm): svn rm svn://foo diff: svn diff -r123 foo import: svn import svn://foo -m import msg
info: svn info list (ls): svn ls svn://foo log: svn log foo mkdir: svn mkdir foo move (mv): svn mv svn://foo svn://bar resolved: svn resolved foo status: svn status -u update (up): svn up
TortoiseSVN
Advanced Topics
cvs2svn http://cvs2svn.tigris.org/
cvs2svn -q --dump-only --dumpfile /tmp/dumpfile /cvs/repo/foo svnadmin load /svn/repo/bar < /tmp/dumpfile svnadmin -q dump /svn/repo/foo > /tmp/dumpfile