[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: I miss tags

From: H. S. Teoh <hsteoh_at_quickfur.ath.cx>
Date: 2004-09-28 21:41:26 CEST

On Tue, Sep 28, 2004 at 11:05:38AM -0700, Tom Mornini wrote:
[...]
> But, I think many feel that it belongs far more than the attribute
> system! For heaven's sake, people have been using "copy and move
> aside" for version control since the advent of electronic storage!

Exactly. In the old pre-version-control days, whenever it's time to
release something, it was a matter of doing

        cp -rp /path/to/current/tree /releases/version-x.y.z

which I find comfortably similar to svn's tag-by-copying paradigm,
except that svn's implementation thereof is faster and more efficient
storage-wise.

[...]
> Question: How else could one represent it with the complete
> context provided by current implementations? It provides a
> simple mapping of each and every tracked item in a method
> that everyone who understands hierarchical filesystems
> can instantly grasp.
>
> That, to me, is the very definition of a good conceptual
> model! CVS at its core never had this. Try explaining
> tags and branches to non-technical computer users, such
> as graphic artists or middle managers, in any other
> versioning system and you'll know what I mean. Of course,
> I'm sure that you know exactly what I mean. :-)
[...]

I agree. The tree metaphor of the filesystem is simple, yet powerful
enough to express such things as "Make a copy of this sub-tree in this
other location where it functions as a snapshot of how this tree is
like at this point in time". It is by convention that software
developers are expected to not 'rm -rf /releases/1.0' or 'cp garbage
/releases/1.0' even though to the filesystem these are perfectly valid
operations. File permissions are simply the enforcement of this
convention. In the same way, a proper development environment using
svn expects developers to not commit changes to the /tags directory,
and pre-commit hook scripts are simply the enforcement of this
convention. Both require prior setup (no filesystem ships with
/releases non-writable by default, or writable only under certain
circumstances), and both are merely safeguards against careless
mistakes. The developers are still expected to know what the
convention is, and how they are to follow it.

I still don't see a convincing reason why this simple, adequate
metaphor needs additional complications piled on top of it with no
added functionality.

T

-- 
The only difference between male factor and malefactor is just a little
emptiness inside.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Sep 28 21:44:50 2004

This is an archived mail posted to the Subversion Users mailing list.