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

Re: Reality check

From: Michael Haggerty <mhagger_at_alum.mit.edu>
Date: Tue, 19 Feb 2008 23:23:39 +0100

Branko Čibej wrote:
> Michael Haggerty wrote:
>> I've thought that it would make sense to add a property to the trunk
>> directory that indicates "this is a project root directory" (in the
>> sense that it is the root of a source code tree, typically the level
>> that users check out). [...]
>
> Reading this and similar proposals makes me want to cry. People keep
> proposing hacks upon hacks upon hacks instead of recognizing the
> fundamental truth that our branching model is broken.

Brane, you already persuaded me at the SVN summit that Subversion's
current branching model should be buried as an implementation detail.
In fact, the branching model that I use in cvs2svn separates the line of
development namespace from the file namespace just as you advocate
because (1) it is simpler to implement; (2) it is a better match to CVS
branches and tags; and (3) it is a better match to git's model, which is
the other output SCM that we currently support. But given that the
Subversion world isn't changing soon, a simple hack like this (almost
zero work) might ease the pain a little bit. And in the unlikely case
that SVN ever changes its branching model, something like the suggested
property could help with forwards and backwards compatibility.

David Glasser wrote:
> Of course, finding such properties, noticing updates to them, etc, is
> not actually trivial under the svn model (see the incredible amount of
> effort required to make mergeinfo inheritance work, and it still has
> some holes).

True, but there are far fewer project lines of development than merges,
and only one level of any SVN path in a conventionally-structured SVN
repository should ever have this property. The most common questions
would be: what line of development does this file belong to? (traverse
path towards root until a project root directory is found) and what is
the complete list of lines of development in this repository?
(breadth-first tree walk starting at root and pruning whenever a project
root is found).

I'm not saying that edifices should be built on top of a hack like this;
just that it would be a very easy way to keep track of project roots in
today's SVN in a not-so-terribly-inaccessible form.

Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-02-19 23:24:09 CET

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