Why is mercurial's hg rebase so slow?

2020-04-06 03:25发布

问题:

The rebase extension to mercurial provides functionality similar to git's rebase.

Letting the rebase execute takes something like 4 minutes (~240 s) for 100 commits.

In my imagination this should be extremely fast, a few seconds at most, but clearly I'm missing something.

What makes it take so long? Are the commits themselves just extremely expensive?

回答1:

By default, rebase writes to the working copy, but you can configure it to run in-memory for better performance, and to allow it to run if the working copy is dirty. Just add following lines in your .hgrc file:

[rebase]

experimental.inmemory = True

(To get more configuration for rebase try to run hg help rebase)