The SVA Externals Command
The externals command can be used to import svn:externals paths into
your repository, and then later remove them, switching back to
svn:externals.
This is useful for many reasons:
- Lock at a specific revision of an external, for stability
- Import remote externals into your repository so you don't depend on a remote repository
External Information
You can use the --info option to the externals command to get a list
of locked and unlocked svn:externals:
sva ext --info vendor
Locking Externals
You can lock externals (import into your repository, and remove
svn:externals property):
sva ext --lock vendor
Unlocking Externals
To remove your imported copy, and go back to a normal svn:externals:
sva ext --unlock vendor
Note: The current version of Subversion Automation will not check to
see if you have modified a file in a locked external. If you modify a
file, and then unlock the external, you will loose your changes (those
changes will be in your repository history if you need them later,
however).
Piston
Francois Beausoleil wrote a utility called Piston that can lock and
unlock externals, while also merging local changes.