[External] remotefilelog: Large Manifest

Son Luong Ngoc son.luong at booking.com
Mon Mar 2 17:05:13 UTC 2020


Hi Pierre-Yves,

> On Mar 2, 2020, at 17:46, Pierre-Yves David <pierre-yves.david at ens-lyon.org> wrote:
>>> On Mar 1, 2020, at 20:51, Pierre-Yves David <pierre-yves.david at ens-lyon.org <mailto:pierre-yves.david at ens-lyon.org>> wrote:
>>> +1 using zstd don't have a huge impact on size, but speed up read/write up to about 50%
>>> 
>>> You can see some number here https://urldefense.com/v3/__https://www.mercurial-scm.org/repo/hg/rev/bb271ec2fbfb__;!!FzMMvhmfRQ!6rrRJJuYzgXSEUsccdjBdOayyRReVBhJmffLSSH9LKaeW20V_3FzB0FhFMjgUoRq$
>> I can try this but not sure whats the best way to do a format conversion?
>> A re-convert (from using hg-git) is expensive on large repo.
>> Trying "hg --config format.revlog-compression=zstd clone local1 local2" now, hopefully I can just copy the hg-git files over after.
> 
> You can set format.revlog-compression=zstd in your hgrc (repo or user) and run `hg debugupgraderepo --run`.
Seems to be good with a normal repo but not on a treemanifest repo it returns
`abort: cannot upgrade repository; unsupported source requirement: treemanifest`

> 
>>> Can you share some information to help with diagnostic ?
>> I will not be able to give the exact number but I will try to give a rough estimations
>>> - How many changeset do you have ?
>> 150k
>>> - How many files do you have in your working copy ?
>> Should not be relevant since we really try to have a sparse-checkout working, most of my tests are with --noupdates
>> But I would say around 200k
> 
> `hg manifest --rev tip | wc -l` would give you a number for the later head.
Sorry it was about 1m500k, I miss read 1 digit :(
and yeah only about 100k is merge commits

Thanks,
Son Luong.


More information about the Mercurial mailing list