Subversion allows a working copy to be constructed from folders checked out of several locations in one or more repositories through the use of external definitions.
An external definition specifies that when a folder is checked out of a repository, a sub-folder is checked out of another location. In this way, a working copy can be comprised of content from several unrelated locations.
This can be useful in a number of situations:
Although the shared library is not located within the project’s folder in the repository, it can be checked out from the shared location into the working copy using an external definition.
An external definition can be used to automatically obtain the open source code into the project’s working copy when checked out.
External definitions are defined using the svn:externals
property. As such, they are subject to the same versioning as the folders they are defined on.
Each external definition defines the following information:
svn:externals
property) into which the external dependency will be checked out.The svn:externals
property is a simple text value which contains a list of external definitions.
Each definition is specified on its own line in the form:
[revision] URL folder
where:
Several URL formats are accepted by Subversion, including both absolute and relative URLs. See the External Definition URL Formats help topic or Subversion documentation included with Cornerstone (Help > Subversion Documentation) for more information.
svn:externals
property into which the contents of URL should be checked out.For example the following definition:
-r32849 http://svn.webkit.org/trunk dependencies/webkit
will check out revision 32,849 of http://svn.webkit.org/trunk
into the dependencies/webkit
sub-folder of the folder which is declaring the property.
See the Subversion documentation included with Cornerstone (Help > Subversion Documentation) for more detailed information on the format of the svn:externals
property.