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

Re: Updating a Tag

From: Daniel Patterson <danpat_at_adaptiveinternational.com>
Date: 2003-06-23 02:02:42 CEST

On Sun, 2003-06-22 at 12:42, Benjamin Pflugmann wrote:
> The use case is: I want to mark a moving target. Like, the last
> version that was tested to work (yeah, I can compile and run the
> testsuite, but don't have the unique, external, expensive hardware it
> controls for a real test, so my collegue some hundred miles away
> should tag whenever he tested it works).
>
> Yes, he could use unique tag names, but that would mean more than 10
> tags on some days. Not really useful. So he moves the tag around. And
> we tag "worthy" versions with a unique tag, based on the "moving"
> tag. There are other variants of this scheme, so we have about 5-10
> moving tags overall.
>
> In other words, it is some kind of communication, some kind of
> (mis-)use of the tag system and of course, there are other solutions
> (he could write mails instead, or whatever). Maybe there is a *better*
> solution I did not see yet (I would be glad to hear), but until I find
> it, moving the tag is the most usable for us.

  Yes, I think there is. It sounds to me that the pattern that matches
  your use case is a *branch* not a tag.

  Let's assume that we make a tag immutable. This means there is no
  confusion between "why is my LASTEST_STABLE code different to your
  LATEST_STABLE code?", which is a good thing to have.

  Instead, have two (or more) branches. When someone has completed
  changes that are sufficiently stable, merge those changes into
  the "stable_changes" branch. This gives you:

    a) Tags that don't move (which is good)
    b) A trunk that is potentially broken.
    c) A branch that people can be reasonably sure of
       (at worst, it's exactly as reliable as a moving tag)

  Note that the difference between tags and branches is pretty thin
  in CVS for starters, and as branches are so potentially confusing
  in CVS, it's pretty easy to misuse tags this way.

  Just a final point. I've learned (through experience), that using
  tagnames like "LATEST" and "STABLE" alone, without any kind of
  incrementable portion is asking for trouble. You can pretty much
  guarantee that what you tag will *not* be the latest, nor will it
  be considered *the* STABLE tag forever.

  Summary: keep tags immutable, use branches for things that need
  a single name but need to change.

daniel

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 23 02:04:25 2003

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

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