hg-git performance on large git repositories.

Uwe Brauer oub at mat.ucm.es
Tue Sep 21 15:32:13 UTC 2021


>>> "DVPC" == Dan Villiom Podlaski Christiansen <danchr at gmail.com> writes:

Hi Dan


> On 20 Sep 2021, at 14.24, Uwe Brauer <oub at mat.ucm.es> wrote:
>>> Which version of hg-git, Mercurial and Python are you running?
>> 
>> Well aehm (since I need the artemis extension which requires python 2.7)
>> 
>> Hg:
>> I use version 5.2rc0+20200125 (on Ubuntu 16.04)
>> 
>> Hg-git (I use a very particular change set committed by Manuel Jacob,
>> that allows named branches to be pushed as git branches, it does work
>> the other way around. We talked about it and I am keen to give your
>> implementation a try. I hoped to port artemis to python 3.X but I have
>> not very much time, and frankly don't use python that much.
>> 
>> So hg-git change set acc4280e2ab7
>> topic export-additional-refs
>> 
>> And of course also 3ad09bbcbe3e
>> which has a different topic namely 
>> topic same-ref-for-multiple-changesets
>> 
>> Well that is I know more than 2 years old
>> 
>> That might be one reason.....

> Well, all of those are either very old, unsupported, or both…


> On my Mac,[1] updating from `null` to `master` takes about 2 seconds
> with that repository.[2] Please note that stuff like updating depends
> on how many files and directories exist in the repository, even if
> untracked. Also note that you can check whether it's an issue with an
> extension by either:

Aha I compiled the repo and therefore had a lot of untracked files I
deleted them and now navigation it is much faster!
However a commit still need 10 sec to come up

> 1) Disabling extensions one-by-one using either something like `--config extensions.hggit=!` or editing hgrc.
I am not sure I understand that 

Do you mean 

 hg --config extensions.hggit=! status

That was a bit faster


Now 

 hg --config extensions.hggit=! status

Was still slow 8 sec.

 hg --config extensions.hggit=! ci 


(Emacs coming up) is 8 sec

 hg --config extensions.hggit=! ci  -m "Test"

Also 9 sec

 hg --config extensions.hggit=! uncommit -a 

8 sec 

 hg --config extensions.hggit=! prune .

1.2 sec 

But hg uncommit -a (8sec)
    hg prune . (1.2)

So no difference.

Do I understand you correctly that this implies the problem is caused by
my extensions but either by hg-git or mercurial?

BTW I only have 

hggit = /home/oub/ALLES/src/hg-git-heptapod/hggit

In my .hgrc 

I did not byte compile or anything like this.





> 2) Bypassing configuration entirely, using e.g. `HGRCPATH=/dev/null HGRCSKIPREPO=1 hg status`.

> [1] A 2 GHz quad-core MBP from 2020.

Ok I have a thinkpad X1 4th gen 4 quad-core 

Dual core Intel Core i5-6200U (-HT-MCP-) speed/max: 499/2800 MHz

> [2] Mirrored at <https://villiom.dk/emacs> — although the server is somewhat underpowered and unstable.


I will try later on to upgrade mercurial and hg-git and also try out you
pull request for Artemisis (I finally figured out you to clone it)

Thanks for your help

Uwe 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5673 bytes
Desc: not available
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20210921/d5b02d49/attachment.p7s>


More information about the Mercurial mailing list