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

Re: Development practices using Subversion

From: Brad Appleton <brad_at_bradapp.net>
Date: 2004-08-09 07:38:45 CEST

On Sun, Aug 08, 2004 at 10:44:54AM -0400, Mark Phippard wrote:
> Brad Appleton wrote:
> > My understanding of a "floating label" is that it always refers
> > to the last "good" build/baseline. This is different from the
> > "tip" of the codeline (branch) in that the "tip" is the latest
> > versions of everything on the branch (or, for svn, latest
> > version of the codebase on that branch). When I see "floating
> > labels" used, the latest/tip is different from the most recently
> > "approved" built/baselined configuration.
> The only system I have used with floating labels is PVCS VM.
> In PVCS, the label just "floats" with the latest commit.

That sounds like it is identifying the "tip of the codeline".
ClearCase does the same thing with a so-called "dynamic" label
called "LATEST" where .../branchname/LATEST always refers to
the latest checked-in versions of all files on that branch.

I believe Perforce has a similar kind of mechanism that also
identifies the "tip" of the codeline.

When one wants a label to "float" for a configuration that is
different than the "tip" (or latest checked-in/committed stuff
on the codeline), one typically has to do it either by
reference. or by "value". When done by value, one essentially
has to make two "labels": one for the new baseline, and one
that redefines the content of the "floating" label.

When done by "reference", the "label" that "floats" is really
the name of the reference that is updated to always point to
the (possibly new) baselined configuration that possesses the
desired characteristics. One way of doing this is to use
a promotion model (and possibly with promotion groups),
where the label and/or codeline has a promotion-status
attribute associated with it.

> As far as labelling the last good build,
> I see no reason why tags in Subversion
> would not work fine for that.

It depends on how one needs to use the "floating label"
(which I'd be interesting in hearing more about from
the original poster). If the floating label needs to
refer to the exact same content (but not necessarily the
exact same set of versions or codebase-version) then
a Subversion "copy" should do the trick. But if it needs
to refer to the exact same codebase version, then I worry
that the copy (by virtue of being a new branch, albeit
one that is intended to be read-only) is a new revnum

Brad Appleton <brad@bradapp.net> www.bradapp.net
  Software CM Patterns (www.scmpatterns.com)
   Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Aug 9 07:39:10 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.