Tags from closed branches?

Matt Mackall mpm at selenic.com
Tue Jun 9 11:24:06 CDT 2009


On Tue, 2009-06-09 at 17:40 +0200, Dirkjan Ochtman wrote:
> On Tue, Jun 9, 2009 at 17:26, Matt Mackall<mpm at selenic.com> wrote:
> > I think that it's probably wrong for heads() to know anything at all
> > about the concept of branches, be they open or closed.
> 
> Our concept of closed is actually about heads, not about branches, AFAICS.

Then it is broken. Only ==branch heads== should be closable and branch
heads are distinct from heads. 

If you start 'closing' heads, you start breaking a whole ton of things
in Mercurial that have never heard of the branches concept. Tags is one.
Push and pull are another. I suspect with the latest changes that you
will be unable to push/pull/bundle/in/out the branch-closing markers
because the changeset discovery protocol will not be able to find the
heads in question.

Here are all the definitions again for comparison:

head: a changeset that has no children

branch: the set of all changesets with the same branch name

branch head: a changeset in a branch that has no children in that branch
(not the same as head!)

active branch head: a branch head that is also a head

inactive branch head: a branch head that has a child not in the same
branch

closed branch head: a branch head with a closed marker

closed branch: a branch with only closed heads


-- 
http://selenic.com : development and support for Mercurial and Linux




More information about the Mercurial-devel mailing list