RFC: dealing with dead, anonymous feature branches

Matt Mackall mpm at selenic.com
Fri May 7 13:00:21 CDT 2010


On Fri, 2010-05-07 at 19:37 +0200, Dirkjan Ochtman wrote:
> On Fri, May 7, 2010 at 19:34, Martin Geisler <mg at aragost.com> wrote:
> > I discussed this idea with Jan Sørensen from aragost and I had at some
> > point mentioned that we're "afraid" of many heads because the number of
> > heads is a term in the running time of some of our protocols. He
> > suggested that one could make a "canonical dead head", that is, merge
> > all dead heads until there is only a single dead head in the graph.
> 
> I think this is the important bit, it potentially alleviates a bunch
> of perf issues. We should get this before we argue about the other
> things.

So what happens when someone resurrects a dead head by committing to it?
Answer: merge is confused.

There are three categories of algorithm that are affected by heads:

index-only: in memory, not a performance issue
index-and-data (eg tags): mostly solved already by the tag cache[1]
over-the-wire: probably addressable in the discovery protocol

[1] It might be worth dropping dead heads from tag calculation

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list