question about the section on vendor branches

Alvin Thompson alvin at thompsonlogic.com
Thu Nov 4 14:24:24 CDT 2010


I have a question about the example under the subsection labeled "General
Vendor Branch Management Procedure".  Why do you need the "current" folder
at all?  Why not just import each vendor release straight to the
appropriate folder for that version (for example, straight to
^/vendor/libcomplex/1.0)?  When merging the new version with your project
(in this case, the "calc" project), instead of using:

svn merge ^/vendor/libcomplex/1.0 \
          ^/vendor/libcomplex/current \
          libcomplex

You use:

svn merge ^/vendor/libcomplex/1.0 \
          ^/vendor/libcomplex/1.1 \
          libcomplex

As far as I can tell, this simplifies things greatly, since there's no
need to merge the files for the new version of "libcomplex" into that
"current" folder.
* The "vendor" path can be treated like the "tags" path; no commits
  ever need to be made to it.  The path only needs to allow imports.
* There's one fewer revision, since you no longer need to commit the
  changes to "current" and then copy them to "1.1".
* There's no need to "svn add" any files new to "1.1".
* You guarantee that the structure of the "1.1" folder corresponds
  exactly to the "1.1" release (see below).
* You don't have to worry about files that were present in "1.0" but
  are no longer present in the "1.1".  With the procedure outlined
  in the current example, those files linger.
* There's no need at all for that "svn_load_dirs.pl" script.

What am I missing?

Thanks,
Alvin






More information about the svnbook-dev mailing list