On Sat, February 10, 2007 7:53 pm, Tracy R Reed wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Lan Barnes wrote:
>> Also, the lack of true tags/labels is a chronic gripe for me with svn.
>> The
>> developers insist that their hokey use of the copy facility to make
>> instances that, they say, can stand as labeled versions, is all anyone
>> needs. But this is the exact same rhetoric we heard from the cvs
>> developers when the svn people were criticising their refusal to address
>> certain cvs deficiencies.
>
> What do you see as the real difference between tags/labels and a copy?

As always, the underlying data structure tells the story.

In rcs/PVCS, version labels were recorded in the archive file for a single
module. To do a pull by label, all the possible archive files had to be
opened and read for the tag. Very s-l-o-w and innefficient.

Subversion does "tags" by suggesting that you make a copy using svn copy
and name it for whatever you want to remember. This is not a tag. It is a
snapshot. You could as well have used a floppy or a CD to make the copy of
the source code. Granted, svn copies are lazy copies, so you record
pointers to files rather than files (unless they are unique). But you
still have no way of determining if tag1 and tag2 are the same code set
except pulling both and doing windiff.

Perforce tags, OTOH, are done properly. In the p4 db, you have a table for
tag names with all the data on a tag (including a remark on what the tag
means, an owner, whether it's locked, etc); and you have a break out table
that records the exact file instances in each tag. It has the fastest
possible response time to tag commands as it goes almost instantly to the
exact file set and none others; it has the most flexibility, as tag sets
may be truely arbitrary; and most important, it allows such operations as
tag-on-tag, tag comparisons in the data base, and incremental tagging. svn
tags simply can't do those things, and they're damn useful.

Note that svn is data base in its architecture, even using Berkeley DB
just as p4 does. But the svn developers are unwilling to but the work in
(which is understandable) and are rationalizing that there is nothing lost
by not having true tags/labels (which is delusional). And the svn
community has made it clear that they miss tags.

Developers on a project can do what what they want, but when they get to
kidding themselves, it's sad to see.

-- 
Lan Barnes

SCM Analyst              Linux Guy
Tcl/Tk Enthusiast        Biodiesel Brewer


-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to