stabilize: --continue support !!!
Based on graft one.
$ 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}) bk:[{bookmarks}] {desc|firstline}\n' "$@"
> }
Test stabilize removing the changeset being stabilized
$ hg init empty
$ cd empty
$ echo a > a
$ hg ci -Am adda a
$ echo b > b
$ hg ci -Am addb b
$ echo a >> a
$ hg ci -m changea
$ hg bookmark changea
$ hg up 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo a >> a
$ hg amend -m changea
1 new unstables changesets
$ hg stabilize -v
move:[2] changea
atop:[4] changea
hg rebase -Dr cce2c55b8965 -d 1447e1c4828d
resolving manifests
$ glog --hidden
@ 4:1447e1c4828d@default(draft) bk:[changea] changea
|
| x 3:41ad4fe8c795@default(draft) bk:[] amends 102a90ea7b4a3361e4082ed620918c261189a36a
| |
| | x 2:cce2c55b8965@default(draft) bk:[] changea
| |/
| x 1:102a90ea7b4a@default(draft) bk:[] addb
|/
o 0:07f494440405@default(draft) bk:[] adda
$ hg debugobsolete
41ad4fe8c79565a06c89f032ef0937b3cbd68a04 1447e1c4828d2347df8f858aa041305fa4cf7db1 0 {'date': '* *', 'user': 'test'} (glob)
102a90ea7b4a3361e4082ed620918c261189a36a 1447e1c4828d2347df8f858aa041305fa4cf7db1 0 {'date': '* *', 'user': 'test'} (glob)
cce2c55b896511e0b6e04173c9450ba822ebc740 0 {'date': '* *', 'user': 'test'} (glob)
Test stabilize with conflict
$ ls
a
b
$ hg pdiff a
diff -r 07f494440405 a
--- a/a * (glob)
+++ b/a * (glob)
@@ -1,1 +1,2 @@
a
+a
$ echo 'newer a' >> a
$ hg ci -m 'newer a'
$ hg gdown
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[4] changea
$ echo 'a' > a
$ hg amend
1 new unstables changesets
$ hg stabilize
move:[5] newer a
atop:[7] changea
merging a
warning: conflicts during merge.
merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
stabilize failed!
fix conflict and run "hg stabilize --continue"
abort: unresolved merge conflicts (see hg help resolve)
[255]
$ hg revert -r 'unstable()' a
$ hg diff
diff -r e8cc1b534401 a
--- a/a * (glob)
+++ b/a * (glob)
@@ -1,1 +1,3 @@
a
+a
+newer a
$ hg stabilize --continue
grafting revision 5
abort: unresolved merge conflicts (see hg help resolve)
[255]
$ hg resolve -m a
$ hg stabilize --continue
grafting revision 5