[PATCH] Add script to rewrite manifest to workaround lack of parent deltas

Greg Ward greg-hg at gerg.ca
Tue Aug 25 13:45:53 CDT 2009


On Tue, Aug 25, 2009 at 3:02 AM, Dirkjan Ochtman<dirkjan at ochtman.nl> wrote:
> On Tue, Aug 25, 2009 at 03:57, Greg Ward<greg-hg at gerg.ca> wrote:
>> Sorry.  YAGNI = "You Ain't Gonna Need It" or, in proper English, "You
>> Aren't Going to Need It".  As in, "sure, we *could* implement
>> shrink-manifest as shrink-revlog so users can shrink any filelog that
>> is affected by lack of parent deltas, but you ain't gonna need it".
>> Comes from the XP (extreme programming) community.
>
> I actually used it on one or two filelogs in the converted Python
> repo, and would prefer it if that use case wasn't shut out (although I
> agree rewriting manifests is easily the biggest win).

How did you know which filelogs to shrink?  The biggest?

I suppose I should try it on my big conversion, which I think is quite
a bit larger than Python's history.

I propose this interface:

  shrink-xxx               # shrink .hg/store/00manifest.{i,d}
  shrink-xxx --revlog .hg/store/data/foo  # shrink specified revlog
(.{i,d} is implicit)

If that sounds good, should the script be called shrink-manifest (easy
to find, covers 90% of usage) or shrink-revlog (more accurate)?

Greg



More information about the Mercurial-devel mailing list