[cairo] Plans (and motivation) for moving cairo from CVS to git

Matt Mackall mpm at selenic.com
Tue Feb 7 17:39:36 PST 2006


On Tue, Feb 07, 2006 at 04:21:42PM -0800, Carl Worth wrote:
> On Tue, 07 Feb 2006 12:19:10 -0800, Carl Worth wrote:
> >
> > On the other hand, the mercurial model would be closer to what I'm
> > currently doing, where each "branch" would be a separate cloned
> > repository.
> 
> Matt Mackall (who was kind enough to put up with lots of questions
> from me during LCA) was also kind enough to wade through my post above
> and point out some mistakes I made in it.
> 
> Mercurial does support multiple branches within a repository.
> 
> What I'm still not sure is whether it allows me to name those lines of
> development in a way similar to git, or if a cloned repository is
> currently the only way to attach a name to a line of development. The
> mercurial web pages certainly put forth the notion of taking advantage
> of the low cost of repository cloning for doing alternate lines of
> development.

[quick rehash of some mail I sent to Carl privately]

This is my preferred mode, yes. But Mercurial does have a concept like
"named branches". We don't use a CVS-like concept of moving branch
tags because that gets into trouble when the same branches are
committed to on different machines and it means one more thing to put
in revision control.

Instead, we have a concept of branches descended from a tag. Briefly,
if you tag a commit "A", each descendant of A will inherit "A" as a
"branch name" until it gets a different tag. Descendents of a merge
receive the union of names from each side.

So we can do:

$ hg heads -b
changeset:   1704:c2755eba8631
tag:         tip
branch:      0.8
user:        Johannes Stezenbach <js at linuxtv.org>
date:        Mon Feb  6 17:35:22 2006 -0600
summary:     display revision numbers

..and see that we've got one branch in our tree, descended from
something tagged 0.8.

And we can check out that head with:

$ hg co -b 0.8
Using head c2755eba8631 for branch 0.8

-- 
Mathematics is the supreme nostalgia of our time.


More information about the cairo mailing list