Subversion: difference among checkout export and update

As we know, Subversion uses hidden directories of metadata to enable the functionality it provides. These .svn directories are what makes a directory into a Subversion working copy. Without these, it’s just a directory and Subversion can’t do much with it. UPDATE is an operation that is performed over a Subversion working copy; no .svn directories, no UPDATE. CHECKOUT is the operation that creates a working copy.

svn checkout copies all the versioned files from the given directory in the repository at the given revision (default HEAD), and copies them to your local machine. It also generates all of the hidden .svn directories, and the meta-data within them, that make these files a working copy.

svn export copies all the versioned files from the given directory in the repository at the given revision (default HEAD), and copies them to your local machine, but produces a standard directory hierachy. (It does not produce a working copy that can be updated or checked back in).

svn update applies changes to an existing working copy. If, in doing so, a conflict is discovered the user is alerted and must resolve this before being able to commit any changes. When using svn commit it is a requirement that the working copy to be committed is up to date (ie. the same revision as HEAD).

NOTE: This is a forwarded version from stackoverflow.com, and edited by the poster.

Share Button

Leave a comment

Your email address will not be published. Required fields are marked *