[PATCH 6 of 8] obsolete: exchange obsolete marker over pushkey
Laurens Holst
laurens.nospam at grauw.nl
Fri Jun 8 12:16:09 CDT 2012
Op 08-06-12 16:06, Pierre-Yves David schreef:
>>>>> 1) does the 'obsstore' ever shrink or does it grow indefinitely?
>>>> It grows indefinitely. This may not be as bad as it sounds in practice,
>>>> there are two extreme cases:
>>>> - Public repositories. They should accept only "killing" markers.
>> (Note the statements above belong to me, I am sure Pierre-Yves has a different take on this).
> All repo keep all marker: (not just kill one)
>
> In the phares above you means "Publishing repository (with public phase only content)" not "Public"
>
>
> Most repo can decide to garbage collected marker that both:
>
> - are relevant to changeset where the newest version are public
>
> - are older that N month
>
> This garbage collection can be done with no side effect in 95% of the case. If
> someone kept old draft version somewhere which are infact obsolete it will have
> it as a duplicate (as both mercurial and git handle it now)
So what we have here from my point of view is essentially just a few
bytes of meta-data added to a changeset every time it’s altered.
Are those few bytes really enough of an issue to to create GC schemes
and potentially cause unexpected issues when you try to pull to old
repos? Compared to the size of an average repository, or even the volume
of changesets that they replace, surely it is negligible? Just as long
as it does not exchange the full set every time you push/pull...
~Laurens
More information about the Mercurial-devel
mailing list