11.07.2015 Views

Version Control with Subversion - Login

Version Control with Subversion - Login

Version Control with Subversion - Login

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Subversion</strong> for CVS Usersrepository). See the section called “Externals Definitions”? Resource is not under version control! Resource is missing or incomplete (removed by a tool other than<strong>Subversion</strong>)UpdateFor a more detailed discussion of svn status, see the section called “See an overview ofyour changes”.svn update updates your working copy, and prints only information about files that it updates.<strong>Subversion</strong> has combined CVS's P and U codes into just U. When a merge or conflict occurs,<strong>Subversion</strong> simply prints G or C, rather than a whole sentence about it.For a more detailed discussion of svn update, see the section called “Update Your WorkingCopy”.Branches and Tags<strong>Subversion</strong> doesn't distinguish between filesystem space and “branch” space; branchesand tags are ordinary directories <strong>with</strong>in the filesystem. This is probably the single biggestmental hurdle that a CVS user will need to cross. Read all about it in Chapter 4, Branchingand Merging.Metadata PropertiesSince <strong>Subversion</strong> treats branches and tags as ordinary directories, yourproject's various lines of development probably live in subdirectories of themain project directory. So remember to check out using the URL of the subdirectorythat contains the particular line of development you want, not theproject's root URL. If you make the mistake of checking out the root of theproject, you may very well wind up <strong>with</strong> a working copy that contains a completecopy of your project's content for each and every one of its branches andtags. 1A new feature of <strong>Subversion</strong> is that you can attach arbitrary metadata (or “properties”) tofiles and directories. Properties are arbitrary name/value pairs associated <strong>with</strong> files and directoriesin your working copy.To set or get a property name, use the svn propset and svn propget subcommands. Tolist all properties on an object, use svn proplist.For more information, see the section called “Properties”.Conflict ResolutionCVS marks conflicts <strong>with</strong> inline “conflict markers,” and then prints a C during an update ormerge operation. Historically, this has caused problems, because CVS isn't doing enough.Many users forget about (or don't see) the C after it whizzes by on their terminal. They oftenforget that the conflict markers are even present, and then accidentally commit filescontaining those conflict markers.1 That is, providing you don't run out of disk space before your checkout finishes.367

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!