Mercurial > evolve
view tests/test-stabilize-order.t @ 298:f597421662f7
obsolete: unify collapsed revisions markers handling
When collapsing A, B and C into D, amend was registering:
A -> D
B -> D
A -> B
C -> D
A -> C
while the rebase wrapper was doing:
A -> D
B -> D
C -> D
At this point, I have no argument to favor one or another or even a new
one like:
A -> B
B -> C
C -> D
so I am aligning the rebase implementation on the older amend one. At
least we can now change them all at once.
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Thu, 21 Jun 2012 19:58:57 +0200 |
parents | 05ab164c6593 |
children | d68ccae92d52 |
line wrap: on
line source
$ cat >> $HGRCPATH <<EOF > [defaults] > amend=-d "0 0" > [extensions] > hgext.rebase= > hgext.graphlog= > EOF $ echo "obsolete=$(echo $(dirname $TESTDIR))/hgext/obsolete.py" >> $HGRCPATH $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH $ glog() { > hg glog --template '{rev}:{node|short}@{branch}({phase}) {desc|firstline}\n' "$@" > } $ hg init repo $ cd repo $ echo root > root $ hg ci -Am addroot adding root $ echo a > a $ hg ci -Am adda adding a $ echo b > b $ hg ci -Am addb adding b $ echo c > c $ hg ci -Am addc adding c $ glog @ 3:7a7552255fb5@default(draft) addc | o 2:ef23d6ef94d6@default(draft) addb | o 1:93418d2c0979@default(draft) adda | o 0:c471ef929e6a@default(draft) addroot $ hg gdown 0 files updated, 0 files merged, 1 files removed, 0 files unresolved [2] addb $ echo b >> b $ hg amend 1 new unstables changesets $ hg gdown 0 files updated, 0 files merged, 1 files removed, 0 files unresolved [1] adda $ echo a >> a $ hg amend 1 new unstables changesets $ glog @ 7:f5ff10856e5a@default(draft) adda | | o 5:ab8cbb6d87ff@default(draft) addb | | | | o 3:7a7552255fb5@default(draft) addc | | | | | o 2:ef23d6ef94d6@default(draft) addb | |/ | o 1:93418d2c0979@default(draft) adda |/ o 0:c471ef929e6a@default(draft) addroot Test stabilizing a predecessor child $ hg stabilize -v move:[5] addb atop:[7] adda hg rebase -Dr ab8cbb6d87ff -d f5ff10856e5a resolving manifests getting b b $ glog @ 8:6bf44048e43f@default(draft) addb | o 7:f5ff10856e5a@default(draft) adda | | o 3:7a7552255fb5@default(draft) addc | | | o 2:ef23d6ef94d6@default(draft) addb | | | o 1:93418d2c0979@default(draft) adda |/ o 0:c471ef929e6a@default(draft) addroot Test stabilizing a descendant predecessors child $ hg up 7 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ hg debugsuccessors > successors.old $ hg stabilize -v move:[3] addc atop:[8] addb hg rebase -Dr 7a7552255fb5 -d 6bf44048e43f resolving manifests getting b resolving manifests getting c c $ hg debugsuccessors > successors.new $ diff -u successors.old successors.new --- successors.old* (glob) +++ successors.new* (glob) @@ -1,5 +1,6 @@ 3a4a591493f8 f5ff10856e5a 3ca0ded0dc50 ab8cbb6d87ff +7a7552255fb5 5e819fbb0d27 93418d2c0979 3a4a591493f8 93418d2c0979 f5ff10856e5a ab8cbb6d87ff 6bf44048e43f [1] $ glog @ 9:5e819fbb0d27@default(draft) addc | o 8:6bf44048e43f@default(draft) addb | o 7:f5ff10856e5a@default(draft) adda | o 0:c471ef929e6a@default(draft) addroot $ hg stabilize -v no unstable changeset [1] Test behaviour with --any $ hg up 8 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo b >> b $ hg amend 1 new unstables changesets $ glog @ 11:4e7cec6b4afe@default(draft) addb | | o 9:5e819fbb0d27@default(draft) addc | | | o 8:6bf44048e43f@default(draft) addb |/ o 7:f5ff10856e5a@default(draft) adda | o 0:c471ef929e6a@default(draft) addroot $ hg up 9 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg stabilize -v nothing to stabilize here (1 unstable changesets, do you want --any ?) [2] $ hg stabilize --any -v move:[9] addc atop:[11] addb hg rebase -Dr 5e819fbb0d27 -d 4e7cec6b4afe resolving manifests removing c getting b resolving manifests getting c c $ glog @ 12:24f95816bb21@default(draft) addc | o 11:4e7cec6b4afe@default(draft) addb | o 7:f5ff10856e5a@default(draft) adda | o 0:c471ef929e6a@default(draft) addroot $ hg stabilize --any -v no unstable changeset [1]