--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-stabilize-order.t Wed Jun 13 18:28:10 2012 +0200
@@ -0,0 +1,158 @@
+ $ 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 stabilize -v
+ move:[3] addc
+ atop:[8] addb
+ hg rebase -Dr 7a7552255fb5 -d 6bf44048e43f
+ resolving manifests
+ getting b
+ resolving manifests
+ getting c
+ c
+ $ 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]