In the svn red book, in the chapter "Vendor Branch", it is proposed to maintain a current/ containing the latest release of 3rd party product, so from the example we end up with:
repos/vendor/libcomplex/current - contains 1.1
repos/vendor/libcomplex/1.0
repos/vendor/libcomplex/1.1
What is it purpose of current/? Why we need initially put a new version to current/ and only after that to copy current/ in a version dedicated directory (e.g. 1.1)?
My guess it's for:
- To make different versions svn comparable.
- As a side the version are stored in more efficient way in svn repository.
Can I bypass handling of current/ in vendor branch?
Update: I don't intend to patch the vendor code (at least this is a plan). So I'm going to use svn:external to use an appropriate vendor version drop.
It is needed because using the svn_load_dirs.pl script you destroy contentes of this dir and import everything as new.
No you can't bypass it, as it is necessary and useful.
The point is in deleted dirs and files in the new vendor drop respect to the old one. This script handles this importing the new vendor drop into current and then removing by "automated hand" every no more existant file/dir. Then merge.