[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] distinguished branch name, "clone"

From: Colin Walters
Subject: [Gnu-arch-users] distinguished branch name, "clone"
Date: Sun, 09 Nov 2003 17:36:29 -0500

* distinguished branch

First of all, as you all know, in CVS there is a distinguished branch
name, "HEAD", which is the default branch.  It is usually used to hold
most forward development.

I'd like to have something similar in tla.  There are several reasons. 
First, I like tla's "category--branch--version" naming a lot.  It's very
clean and clear.  However, sometimes it's a bit much to type.  This is
somewhat recognized already in that you can type "tla get
foo--mainline", and that will translate into the most recent version of
the "mainline" branch (say, 0.6).

But we could still simplify things further if we created a distinguished
branch name.  Let's call it "mainline", which is my personal preference
(but suggestions are welcome).
I'd like to have be able to say just "tla get foo", and have that
translate into "tla get foo--mainline--0.6".

If this were implemented consistently among all the various commands
(along with the versioning defaults), it could save us all quite a bit
of typing over time.  It would also be nice if when looking at someone's
arch archive, you simply knew where to look for the latest development
version.  Moreover, various tools built upon tla could, well,
distinguish the distinguished branch.  For example, ViewARCH could put
it at the top and in bold or something.

* "clone"

After doing this, I'd like to implement a new command "clone", which
would be quite simple; just a combination of archive-setup and tag.

I'd like to be able to say this:

tla clone address@hidden/rhythmbox

Suppose the latest rhythmbox version is 0.6.  Then that would translate

tla archive-setup rhythmbox--mainline--0.6
tla tag address@hidden/rhythmbox--mainline--0.6 rhythmbox--mainline--0.6

clone could also be used to create branches locally:

tla clone rhythmbox rhythmbox--playlists

And that would translate into:

tla archive-setup rhythmbox--playlists--0.6
tla tag rhythmbox--mainline--0.6 rhythmbox--playlists--0.6

And clone could even be more powerful; for example, suppose I typed:

tla clone address@hidden

That would expand into a clone of all the categories:

tla clone address@hidden/tla
tla clone address@hidden/package-framework
tla clone address@hidden/hackerlab


Now, why do all this?  Because it all cleanly captures what I think is
the most common style of development that occurs with tla right now;
i.e. the star pattern.  For example, all the various contributors to
Rhythmbox who use tla generally follow this pattern; we all have the
same branch and version names, and we have a star topology.

None of this is really hard to implement.  I plan to do it fairly soon,
unless someone raises an objection or thinks of something that could be
done better.

So, any objections or suggestions for ways things could be improved? :)

Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

[Prev in Thread] Current Thread [Next in Thread]