[pkg-horde] Please adopt/hijack my package

Lionel Elie Mamane lionel at mamane.lu
Mon Jul 10 07:16:57 UTC 2006


On Sun, Jul 09, 2006 at 04:58:43PM -0400, Roberto C. Sanchez wrote:
> Ola Lundqvist wrote:

>> Even if I did not like tla/arch in the beginning I must admit that
>> it is ony of the few version control systems that actually support
>> branching in a good way (except for really expensive ones).

>> So please let us keep arch (or skip it entirelly).

> Interesting.  I thought that the Subversion way of handling branches
> (and tags for that matter) is the best so far.  I can easily cope
> with the idea that everything is a directory/file.

In my opinion, Subversion's cardinal sin in its branch handling is its
poor merge handling, roughly equal to CVS's. By that I mainly mean
that it does not keep track of which change (patch) is applied to
which branch. This means that if you have a branch A branching from B,
about 100 changes have been made in A since branching point, but about
50 of those have been merged back into B, to do a complete merge (all
changes in A to B) with subversion you must list the 50 other changes
(if some of them are in a sequence, they can be grouped together), or
risk spurious conflicts. If the VCS you use keeps track of which 50
changes are already applied (like tla), then you just say "merge all"
(in tla you would use "tla replay A" in a working tree of B) and the
VCS applies those 50 changes, no more, no less.

In simpler cases (those where "tla star-merge" works, roughly: you do
only total merges between directly related branches), the difference
is less dramatic, but still real: With subversion, you more or less
have to keep track of where the last merge point was with a tag, or in
the commit log, or externally and then give that information back to
svn on its command line on the next merge. tla (and the other
"sensible" VCSs) keep track of this for you, or _compute_ that
information when needed.

See
http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.branchmerge.copychanges.bestprac.track
http://subversion.tigris.org/faq.html#merge-using-tags
for the official SVN documentation on that simpler case. Notice how
many things you have to do manually!

-- 
Lionel



More information about the pkg-horde-hackers mailing list