Mercurial > hg-stable
view tests/test-rebase-brute-force.t @ 40779:300f8564220f
tags: cache `repo.changelog` access when checking tags nodes
The tags reading process checks if the nodes referenced in tags exist. Caching
the access to `repo.changelog` provides a large speedup for repositories with
many tags.
running `hg perftags` in a large private repository
before: ! wall 0.393464 comb 0.390000 user 0.330000 sys 0.060000 (median of 25)
after: ! wall 0.267711 comb 0.270000 user 0.210000 sys 0.060000 (median of 38)
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Tue, 20 Nov 2018 10:38:15 +0000 |
parents | 7f183c643eb6 |
children |
line wrap: on
line source
$ cat >> $HGRCPATH <<EOF > [extensions] > drawdag=$TESTDIR/drawdag.py > bruterebase=$TESTDIR/bruterebase.py > [experimental] > evolution.createmarkers=True > evolution.allowunstable=True > EOF $ init() { > N=`expr ${N:-0} + 1` > cd $TESTTMP && hg init repo$N && cd repo$N > hg debugdrawdag > } Source looks like "N" $ init <<'EOS' > C D > |\| > A B Z > EOS $ hg debugbruterebase 'all()-Z' Z A: A':Z B: B':Z AB: A':Z B':Z C: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents AC: A':Z C':A'B BC: B':Z C':B'A ABC: A':Z B':Z C':A'B' D: D':Z AD: A':Z D':Z BD: B':Z D':B' ABD: A':Z B':Z D':B' CD: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents ACD: A':Z C':A'B D':Z BCD: B':Z C':B'A D':B' ABCD: A':Z B':Z C':A'B' D':B' Moving backwards $ init <<'EOS' > C > |\ > A B > | > Z > EOS $ hg debugbruterebase 'all()-Z' Z B: B':Z A: BA: B':Z C: ABORT: cannot rebase 3:b8d7149b562b without moving at least one of its parents BC: B':Z C':B'A AC: BAC: B':Z C':B'A