RFC: dealing with dead, anonymous feature branches

Peter Arrenbrecht peter.arrenbrecht at gmail.com
Wed May 26 08:23:28 CDT 2010


On Fri, May 7, 2010 at 8:00 PM, Matt Mackall <mpm at selenic.com> wrote:
> 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

IIRC, with the current favorite among the new discovery protocol
ideas, wire traffic is not significantly affected by the number of
heads.
-parren


More information about the Mercurial-devel mailing list