How to get started with svn:externals?

Solution 1:

Here are some sections about it in the svnbook / TortoiseSVN manual:

This is the svnbook page on svn:externals. It is the most useful resource on the subject.

This one explains four ways to include sub-projects in the workflow (and in the process misses a fifth one: symlinks).

And this last one is a TortoiseSVN-specific page on how to import stuff in a repository (not directly related to svn:externals).

Solution 2:

In case it isn't clear from the links provided above, the way you set the svn:externals property that is tied to a particular revision (pinning), here it is:

svn propset svn:externals "plugins -r12345 https://svn.example.com/common/plugins" extras

That will will make a plugins subdirectory under the extras directory and link it to revision 12345 of the external SVN URL https://svn.example.com/common/plugins.

There is a Red Bean article that suggests using propedit since the svn:externals can be a multi-line value. The above example would be changed as follows to use propedit.

svn propedit svn:externals extras

You would then add one line for each external link following the same format shown above for the value.