Mercurial > evolve
view tests/test-stabilize-order.t @ 282:05ab164c6593
obsolete: handle rebase --collapse
Recording obsolete in concludenode() did not work for --collapse because
only the first revision was passed to the call. The new strategy is to
track the rebase state in defineparents() and concludenode() and to
create markers only after a successful non-abort call. In theory, this
should also fix --continue/--abort cases.
The change in test-stabilize-order.t comes from concludenode() no longer
creating obsolete marker. stabilize command was actually duplicating
markers, once in concludenode(), once explicitely.
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Tue, 19 Jun 2012 18:05:23 +0200 |
parents | 258169d3428b |
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]