Subversion uses '.svn/' directories (and litters them in each sub-directory)
“ A flavour of subversion” (Command Line!)
$ svn ls svn://devcentre/nxec/client error-page-plugin/ start-page/ test-usb/
$ mkdir test-usb $ cd test-usb/ $ svn co svn://devcentre/nxec/client/test-usb/trunk . A install.sh A test-usb.sh A report-usb.sh Checked out revision 304.
$ svn info Path: . URL: svn://devcentre/nxec/client/test-usb/trunk Repository Root: svn://devcentre Repository UUID: 91107793-f093-49fa-88a1-086c1fccaf20 Revision: 304 Node Kind: directory Schedule: normal Last Changed Author: dev Last Changed Rev: 210 Last Changed Date: 2009-08-10 11:15:24 +0100 (Mon, 10 Aug 2009)
$ touch README $ svn st ? README
$ svn add README A README
$ svn ci -m "Added README file" Adding README Transmitting file data . Committed revision 305. $ svn up At revision 305.
$ svn log ------------------------------------------------------------------------ r305 | dev | 2009-09-01 14:12:58 +0100 (Tue, 01 Sep 2009) | 1 line Added README file ------------------------------------------------------------------------ r297 | dev | 2009-08-28 10:07:55 +0100 (Fri, 28 Aug 2009) | 1 line renaming client-utils to client ------------------------------------------------------------------------ r210 | dev | 2009-08-10 11:15:24 +0100 (Mon, 10 Aug 2009) | 1 line Importing test-usb utils ------------------------------------------------------------------------
Importing a Project: $ cd <your unversioned project dir> $ svn import -m “project name” . svn://server/project/trunk $ mkdir <your versioned project dir> $ svn co svn://server/project/trunk
Importing a Project: $ cd <your unversioned project dir> $ svn import -m “project name” . svn://server/project/trunk $ mkdir <your versioned project dir> $ svn co svn://server/project/trunk
Importing a Project: $ cd <your unversioned project dir> $ svn import -m “project name” . svn://server/project/trunk $ mkdir <your versioned project dir> $ svn co svn://server/project/trunk
Importing a Project: $ cd <your unversioned project dir> $ svn import -m “project name” . svn://server/project/trunk $ mkdir <your versioned project dir> $ svn co svn://server/project/trunk
Creating a Branch: $ svn mkdir -m “Making branches” svn://server/project/branches $ cd copy -m “Making Release Branch” svn://server/project/trunk svn://server/project/branches/REL-1.0
Some Subversion features
Commits are true atomic operations
Renamed/copied/moved/removed files retain full revision history.
Versioning of symbolic links.
Native support for binary files, with space-efficient binary-diff storage
Branching and tagging are cheap operations, independent of file size Subversion itself does not distinguish between a tag, a branch, and a directory
File locking for unmergeable files ("reserved checkouts")
&
if (like me) you like a DVCS like Git …
you can use Git with Subversion! git-svn (for when you have to use subversion)
0 comments
Post a comment