I'm looking for a succinct and well-written tutorial on using svn:externals.
I already know how to use them in a basic way myself, but I want a good article that I can link to when answering questions like this one that come up recently:
What to do with multiple projects depending on the same source?
I'd do it myself, but I don't use them often enough to want to stick my neck out and write a tutorial on it. Google was surprisingly unhelpful with this topic.
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:That will will make a
plugins
subdirectory under theextras
directory and link it to revision12345
of the external SVN URLhttps://svn.example.com/common/plugins
.There is a Red Bean article that suggests using
propedit
since thesvn:externals
can be a multi-line value. The above example would be changed as follows to usepropedit
.You would then add one line for each external link following the same format shown above for the value.
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).
As show above, we want to copy 2 files and 1 directory to
repo2
something like:
ln repo1/proj/base/client repo2/proj/base/client
vim shows :
../repo1/proj/base/client proj/base/client