Mercurial > evolve
view tests/test-evolve-phase.t @ 4096:1630756a6a46 stable
obshashrange: force reset if many changes
If there is many new markers (or the markers affect many changesets) resetting
affected changeset can get slow. A common case for that is then changeset and
markers are added in different transaction, (eg: when using clone bundle).
When we detect such case, we reset the obshashrange cache, rewarming it should
be faster.
Here many is arbitrarily set to 10 000. The number might get adjusted.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 13 Sep 2018 02:49:58 +0200 |
parents | fb8e44c70798 |
children | 684cc3418ecd bcd52ce0916d |
line wrap: on
line source
Testing the handling of phases for `hg evolve` command $ cat >> $HGRCPATH <<EOF > [phases] > publish = False > [alias] > glog = log -G --template='{rev} - {node|short} {desc} ({phase})\n' > [extensions] > EOF $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH Testing when there are no conflicts during evolve $ hg init noconflict $ cd noconflict $ echo a>a $ hg ci -Aqm a $ echo b>b $ hg ci -Aqm b $ echo c>c $ hg ci -Aqsm c $ hg glog @ 2 - 177f92b77385 c (secret) | o 1 - d2ae7f538514 b (draft) | o 0 - cb9a9f314b8b a (draft) $ hg prev 0 files updated, 0 files merged, 1 files removed, 0 files unresolved [1] b $ echo b2>b $ hg amend 1 new orphan changesets $ hg evolve move:[2] c atop:[3] b working directory is now at 813dde83a7f3 $ hg glog @ 4 - 813dde83a7f3 c (secret) | o 3 - fd89d0f19529 b (draft) | o 0 - cb9a9f314b8b a (draft) $ cd .. Testing case when there are conflicts (bug 5720) $ hg init conflicts $ cd conflicts $ echo a > a $ hg ci -Am a adding a $ echo b > a $ hg ci -m b $ echo c > a $ hg ci -sm c $ hg glog @ 2 - 13833940840c c (secret) | o 1 - 1e6c11564562 b (draft) | o 0 - cb9a9f314b8b a (draft) $ hg prev 1 files updated, 0 files merged, 0 files removed, 0 files unresolved [1] b $ echo b2 > a $ hg amend 1 new orphan changesets $ hg glog @ 3 - 87495ea7c9ec b (draft) | | * 2 - 13833940840c c (secret) | | | x 1 - 1e6c11564562 b (draft) |/ o 0 - cb9a9f314b8b a (draft) $ hg evolve move:[2] c atop:[3] b merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') fix conflicts and see `hg help evolve.interrupted` [1] $ hg diff diff -r 87495ea7c9ec a --- a/a Thu Jan 01 00:00:00 1970 +0000 +++ b/a Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +1,5 @@ +<<<<<<< destination: 87495ea7c9ec - test: b b2 +======= +c +>>>>>>> evolving: 13833940840c - test: c $ hg glog @ 3 - 87495ea7c9ec b (draft) | | @ 2 - 13833940840c c (secret) | | | x 1 - 1e6c11564562 b (draft) |/ o 0 - cb9a9f314b8b a (draft) $ echo c2 > a $ hg resolve -m (no more unresolved files) continue: hg evolve --continue $ hg evolve -c evolving 2:13833940840c "c" working directory is now at 3d2080c198e5 $ hg glog @ 4 - 3d2080c198e5 c (secret) | o 3 - 87495ea7c9ec b (draft) | o 0 - cb9a9f314b8b a (draft)