changeset 17085:35729bdd59b6

tests: convert histedit tests to .t Mostly a trivial conversion.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 30 Jun 2012 03:34:44 +0200
parents 69dae7982c85
children 5f2cacb715dc
files tests/histedit-helpers.sh tests/test-histedit-commute tests/test-histedit-commute.out tests/test-histedit-commute.t tests/test-histedit-drop tests/test-histedit-drop.out tests/test-histedit-drop.t tests/test-histedit-edit tests/test-histedit-edit.out tests/test-histedit-edit.t tests/test-histedit-fold tests/test-histedit-fold-non-commute tests/test-histedit-fold-non-commute.out tests/test-histedit-fold-non-commute.t tests/test-histedit-fold.out tests/test-histedit-fold.t tests/test-histedit-no-change tests/test-histedit-no-change.out tests/test-histedit-no-change.t tests/test-histedit-non-commute tests/test-histedit-non-commute-abort tests/test-histedit-non-commute-abort.out tests/test-histedit-non-commute-abort.t tests/test-histedit-non-commute.out tests/test-histedit-non-commute.t tests/test-histedit-outgoing tests/test-histedit-outgoing.out tests/test-histedit-outgoing.t
diffstat 28 files changed, 1557 insertions(+), 1655 deletions(-) [+]
line wrap: on
line diff
--- a/tests/histedit-helpers.sh	Sat Jun 30 03:34:41 2012 +0200
+++ b/tests/histedit-helpers.sh	Sat Jun 30 03:34:44 2012 +0200
@@ -1,5 +1,3 @@
-#!/bin/sh
-
 fixbundle() {
     grep -v 'saving bundle' | grep -v 'saved backup' | \
         grep -v added | grep -v adding | \
--- a/tests/test-histedit-commute	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-#!/bin/sh
-
-. "$TESTDIR/histedit-helpers.sh"
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-EDITED=`pwd`/editedhistory
-cat > $EDITED <<EOF
-pick 177f92b77385 c
-pick e860deea161a e
-pick 652413bf663e f
-pick 055a42cdd887 d
-EOF
-initrepo ()
-{
-    hg init r
-    cd r
-    for x in a b c d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-}
-
-initrepo
-
-echo % log before edit
-hg log --graph
-
-echo % show the edit commands offered
-HGEDITOR=cat hg histedit 177f92b77385
-
-echo % edit the history
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo % rules should end up in .hg/histedit-last-edit.txt:
-cat .hg/histedit-last-edit.txt
-echo '**** end of rules file ****'
-
-echo % log after edit
-hg log --graph
-
-echo % put things back
-
-cat > $EDITED <<EOF
-pick 177f92b77385 c
-pick 853c68da763f d
-pick b069cc29fb22 e
-pick 26f6a030ae82 f
-EOF
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-hg log --graph
-
-
-echo % slightly different this time
-
-cat > $EDITED <<EOF
-pick 055a42cdd887 d
-pick 652413bf663e f
-pick e860deea161a e
-pick 177f92b77385 c
-EOF
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-hg log --graph
-
-
-echo % keep prevents stripping dead revs
-cat > $EDITED <<EOF
-pick bfe4a5a76b37 d
-pick c4f52e213402 f
-pick 99a62755c625 c
-pick 7c6fdd608667 e
-EOF
-HGEDITOR="cat $EDITED > " hg histedit bfe4a5a76b37 --keep 2>&1 | fixbundle
-hg log --graph
-
-echo '% try with --rev'
-cat > $EDITED <<EOF
-pick 7c6fdd608667 e
-pick 99a62755c625 c
-EOF
-hg histedit --commands "$EDITED" --rev -2 2>&1 | fixbundle
-hg log --graph
-
-echo % should also work if a commit message is missing
-BUNDLE="$TESTDIR/missing-comment.hg"
-hg init missing
-cd missing
-hg unbundle $BUNDLE
-hg co tip
-hg log --graph
-hg histedit 0
--- a/tests/test-histedit-commute.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-% log before edit
-@  changeset:   5:652413bf663e
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% show the edit commands offered
-pick 177f92b77385 2 c
-pick 055a42cdd887 3 d
-pick e860deea161a 4 e
-pick 652413bf663e 5 f
-
-# Edit history between 177f92b77385 and 652413bf663e
-#
-# Commands:
-#  p, pick = use commit
-#  e, edit = use commit, but stop for amending
-#  f, fold = use commit, but fold into previous commit (combines N and N-1)
-#  d, drop = remove commit from history
-#  m, mess = edit message without changing commit content
-#
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% edit the history
-0 files updated, 0 files merged, 3 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% rules should end up in .hg/histedit-last-edit.txt:
-pick 177f92b77385 c
-pick e860deea161a e
-pick 652413bf663e f
-pick 055a42cdd887 d
-**** end of rules file ****
-% log after edit
-@  changeset:   5:853c68da763f
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   4:26f6a030ae82
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   3:b069cc29fb22
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% put things back
-0 files updated, 0 files merged, 3 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-@  changeset:   5:652413bf663e
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% slightly different this time
-0 files updated, 0 files merged, 4 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-@  changeset:   5:99a62755c625
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   4:7c6fdd608667
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:c4f52e213402
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   2:bfe4a5a76b37
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% keep prevents stripping dead revs
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-@  changeset:   7:99e266581538
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   6:5ad36efb0653
-|  parent:      3:c4f52e213402
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-| o  changeset:   5:99a62755c625
-| |  user:        test
-| |  date:        Thu Jan 01 00:00:00 1970 +0000
-| |  summary:     c
-| |
-| o  changeset:   4:7c6fdd608667
-|/   user:        test
-|    date:        Thu Jan 01 00:00:00 1970 +0000
-|    summary:     e
-|
-o  changeset:   3:c4f52e213402
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   2:bfe4a5a76b37
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% try with --rev
-abort: may not use changesets other than the ones listed
-@  changeset:   7:99e266581538
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   6:5ad36efb0653
-|  parent:      3:c4f52e213402
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-| o  changeset:   5:99a62755c625
-| |  user:        test
-| |  date:        Thu Jan 01 00:00:00 1970 +0000
-| |  summary:     c
-| |
-| o  changeset:   4:7c6fdd608667
-|/   user:        test
-|    date:        Thu Jan 01 00:00:00 1970 +0000
-|    summary:     e
-|
-o  changeset:   3:c4f52e213402
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   2:bfe4a5a76b37
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% should also work if a commit message is missing
-adding changesets
-adding manifests
-adding file changes
-added 3 changesets with 3 changes to 1 files
-(run 'hg update' to get a working copy)
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-@  changeset:   2:bd22688093b3
-|  tag:         tip
-|  user:        Robert Altman <robert.altman@telventDTN.com>
-|  date:        Mon Nov 28 16:40:04 2011 +0000
-|  summary:     Update file.
-|
-o  changeset:   1:3b3e956f9171
-|  user:        Robert Altman <robert.altman@telventDTN.com>
-|  date:        Mon Nov 28 16:37:57 2011 +0000
-|
-o  changeset:   0:141947992243
-   user:        Robert Altman <robert.altman@telventDTN.com>
-   date:        Mon Nov 28 16:35:28 2011 +0000
-   summary:     Checked in text file
-
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-commute.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,359 @@
+  $ . "$TESTDIR/histedit-helpers.sh"
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ EDITED=`pwd`/editedhistory
+  $ cat > $EDITED <<EOF
+  > pick 177f92b77385 c
+  > pick e860deea161a e
+  > pick 652413bf663e f
+  > pick 055a42cdd887 d
+  > EOF
+  $ initrepo ()
+  > {
+  >     hg init r
+  >     cd r
+  >     for x in a b c d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  > }
+
+  $ initrepo
+
+log before edit
+  $ hg log --graph
+  @  changeset:   5:652413bf663e
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+show the edit commands offered
+  $ HGEDITOR=cat hg histedit 177f92b77385
+  pick 177f92b77385 2 c
+  pick 055a42cdd887 3 d
+  pick e860deea161a 4 e
+  pick 652413bf663e 5 f
+  
+  # Edit history between 177f92b77385 and 652413bf663e
+  #
+  # Commands:
+  #  p, pick = use commit
+  #  e, edit = use commit, but stop for amending
+  #  f, fold = use commit, but fold into previous commit (combines N and N-1)
+  #  d, drop = remove commit from history
+  #  m, mess = edit message without changing commit content
+  #
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+edit the history
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+rules should end up in .hg/histedit-last-edit.txt:
+  $ cat .hg/histedit-last-edit.txt
+  pick 177f92b77385 c
+  pick e860deea161a e
+  pick 652413bf663e f
+  pick 055a42cdd887 d
+
+log after edit
+  $ hg log --graph
+  @  changeset:   5:853c68da763f
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   4:26f6a030ae82
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   3:b069cc29fb22
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+put things back
+
+  $ cat > $EDITED <<EOF
+  > pick 177f92b77385 c
+  > pick 853c68da763f d
+  > pick b069cc29fb22 e
+  > pick 26f6a030ae82 f
+  > EOF
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ hg log --graph
+  @  changeset:   5:652413bf663e
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+slightly different this time
+
+  $ cat > $EDITED <<EOF
+  > pick 055a42cdd887 d
+  > pick 652413bf663e f
+  > pick e860deea161a e
+  > pick 177f92b77385 c
+  > EOF
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 4 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg log --graph
+  @  changeset:   5:99a62755c625
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   4:7c6fdd608667
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:c4f52e213402
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   2:bfe4a5a76b37
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+keep prevents stripping dead revs
+  $ cat > $EDITED <<EOF
+  > pick bfe4a5a76b37 d
+  > pick c4f52e213402 f
+  > pick 99a62755c625 c
+  > pick 7c6fdd608667 e
+  > EOF
+  $ HGEDITOR="cat $EDITED > " hg histedit bfe4a5a76b37 --keep 2>&1 | fixbundle
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg log --graph
+  > cat > $EDITED <<EOF
+  > pick 7c6fdd608667 e
+  > pick 99a62755c625 c
+  > EOF
+  @  changeset:   7:99e266581538
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   6:5ad36efb0653
+  |  parent:      3:c4f52e213402
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  | o  changeset:   5:99a62755c625
+  | |  user:        test
+  | |  date:        Thu Jan 01 00:00:00 1970 +0000
+  | |  summary:     c
+  | |
+  | o  changeset:   4:7c6fdd608667
+  |/   user:        test
+  |    date:        Thu Jan 01 00:00:00 1970 +0000
+  |    summary:     e
+  |
+  o  changeset:   3:c4f52e213402
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   2:bfe4a5a76b37
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+try with --rev
+  $ hg histedit --commands "$EDITED" --rev -2 2>&1 | fixbundle
+  abort: may not use changesets other than the ones listed
+  $ hg log --graph
+  @  changeset:   7:99e266581538
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   6:5ad36efb0653
+  |  parent:      3:c4f52e213402
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  | o  changeset:   5:99a62755c625
+  | |  user:        test
+  | |  date:        Thu Jan 01 00:00:00 1970 +0000
+  | |  summary:     c
+  | |
+  | o  changeset:   4:7c6fdd608667
+  |/   user:        test
+  |    date:        Thu Jan 01 00:00:00 1970 +0000
+  |    summary:     e
+  |
+  o  changeset:   3:c4f52e213402
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   2:bfe4a5a76b37
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+should also work if a commit message is missing
+  $ BUNDLE="$TESTDIR/missing-comment.hg"
+  $ hg init missing
+  $ cd missing
+  $ hg unbundle $BUNDLE
+  adding changesets
+  adding manifests
+  adding file changes
+  added 3 changesets with 3 changes to 1 files
+  (run 'hg update' to get a working copy)
+  $ hg co tip
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg log --graph
+  @  changeset:   2:bd22688093b3
+  |  tag:         tip
+  |  user:        Robert Altman <robert.altman@telventDTN.com>
+  |  date:        Mon Nov 28 16:40:04 2011 +0000
+  |  summary:     Update file.
+  |
+  o  changeset:   1:3b3e956f9171
+  |  user:        Robert Altman <robert.altman@telventDTN.com>
+  |  date:        Mon Nov 28 16:37:57 2011 +0000
+  |
+  o  changeset:   0:141947992243
+     user:        Robert Altman <robert.altman@telventDTN.com>
+     date:        Mon Nov 28 16:35:28 2011 +0000
+     summary:     Checked in text file
+  
+  $ hg histedit 0
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cd ..
--- a/tests/test-histedit-drop	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-. "$TESTDIR/histedit-helpers.sh"
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-EDITED=`pwd`/editedhistory
-cat > $EDITED <<EOF
-drop 177f92b77385 c
-pick e860deea161a e
-pick 652413bf663e f
-pick 055a42cdd887 d
-EOF
-initrepo ()
-{
-    hg init r
-    cd r
-    for x in a b c d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-}
-
-initrepo
-
-echo % log before edit
-hg log --graph
-
-echo % edit the history
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo % log after edit
-hg log --graph
-
-echo % manifest after edit
-hg manifest
-
-echo % EOF
--- a/tests/test-histedit-drop.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-% log before edit
-@  changeset:   5:652413bf663e
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% edit the history
-0 files updated, 0 files merged, 4 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% log after edit
-@  changeset:   4:708943196e52
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   3:75cbdffecadb
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   2:493dc0964412
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% manifest after edit
-a
-b
-d
-e
-f
-% EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-drop.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,107 @@
+  $ . "$TESTDIR/histedit-helpers.sh"
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ EDITED=`pwd`/editedhistory
+  $ cat > $EDITED <<EOF
+  > drop 177f92b77385 c
+  > pick e860deea161a e
+  > pick 652413bf663e f
+  > pick 055a42cdd887 d
+  > EOF
+  $ initrepo ()
+  > {
+  >     hg init r
+  >     cd r
+  >     for x in a b c d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  > }
+
+  $ initrepo
+
+log before edit
+  $ hg log --graph
+  @  changeset:   5:652413bf663e
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+edit the history
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 4 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+log after edit
+  $ hg log --graph
+  @  changeset:   4:708943196e52
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   3:75cbdffecadb
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   2:493dc0964412
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+manifest after edit
+  $ hg manifest
+  a
+  b
+  d
+  e
+  f
+
+  $ cd ..
--- a/tests/test-histedit-edit	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-#!/bin/sh
-
-. "$TESTDIR/histedit-helpers.sh"
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-EDITED=`pwd`/editedhistory
-cat > $EDITED <<EOF
-pick 177f92b77385 c
-pick 055a42cdd887 d
-edit e860deea161a e
-pick 652413bf663e f
-EOF
-initrepo ()
-{
-    hg init r
-    cd r
-    for x in a b c d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-}
-
-initrepo
-
-echo % log before edit
-hg log --graph
-
-echo % edit the history
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo % commit, then edit the revision
-hg ci -m 'wat'
-echo a > e
-HGEDITOR='echo "foobaz" > ' hg histedit --continue 2>&1 | fixbundle
-
-hg log --graph
-
-echo '% contents of e:'
-hg cat e
-
-cat > $EDITED <<EOF
-edit bf757c081cd0 f
-EOF
-HGEDITOR="cat $EDITED > " hg histedit tip 2>&1 | fixbundle
-hg status
-HGEDITOR='true' hg histedit --continue
-hg status
-
-echo % log after edit
-hg log --limit 1
-
-echo "% say we'll change the message, but don't."
-cat > ../edit.sh <<EOF
-#!/bin/sh
-cat \$1 | sed s/pick/mess/ > tmp
-mv tmp \$1
-EOF
-chmod +x ../edit.sh
-HGEDITOR="../edit.sh" hg histedit tip 2>&1 | fixbundle
-hg status
-hg log --limit 1
-
-echo % modify the message
-cat > $EDITED <<EOF
-mess bf757c081cd0 f
-EOF
-HGEDITOR="cat $EDITED > " hg histedit tip 2>&1 | fixbundle
-hg status
-hg log --limit 1
-
-echo % rollback should not work after a histedit
-hg rollback
-
-echo % EOF
--- a/tests/test-histedit-edit.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-% log before edit
-@  changeset:   5:652413bf663e
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% edit the history
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-abort: Make changes as needed, you may commit or record as needed now.
-When you are finished, run hg histedit --continue to resume.
-% commit, then edit the revision
-created new head
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-@  changeset:   6:bf757c081cd0
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   5:d6b15fed32d4
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     foobaz
-|
-o  changeset:   4:1a60820cd1f6
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     wat
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% contents of e:
-a
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-abort: Make changes as needed, you may commit or record as needed now.
-When you are finished, run hg histedit --continue to resume.
-A f
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% log after edit
-changeset:   6:bf757c081cd0
-tag:         tip
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     f
-
-% say we'll change the message, but don't.
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-changeset:   6:bf757c081cd0
-tag:         tip
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     f
-
-% modify the message
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-changeset:   6:0b16746f8e89
-tag:         tip
-user:        test
-date:        Thu Jan 01 00:00:00 1970 +0000
-summary:     mess bf757c081cd0 f
-
-% rollback should not work after a histedit
-no rollback information available
-% EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-edit.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,180 @@
+  $ . "$TESTDIR/histedit-helpers.sh"
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ EDITED=`pwd`/editedhistory
+  $ cat > $EDITED <<EOF
+  > pick 177f92b77385 c
+  > pick 055a42cdd887 d
+  > edit e860deea161a e
+  > pick 652413bf663e f
+  > EOF
+  $ initrepo ()
+  > {
+  >     hg init r
+  >     cd r
+  >     for x in a b c d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  > }
+
+  $ initrepo
+
+log before edit
+  $ hg log --graph
+  @  changeset:   5:652413bf663e
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+edit the history
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  abort: Make changes as needed, you may commit or record as needed now.
+  When you are finished, run hg histedit --continue to resume.
+
+commit, then edit the revision
+  $ hg ci -m 'wat'
+  created new head
+  $ echo a > e
+  $ HGEDITOR='echo "foobaz" > ' hg histedit --continue 2>&1 | fixbundle
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ hg log --graph
+  @  changeset:   6:bf757c081cd0
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   5:d6b15fed32d4
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     foobaz
+  |
+  o  changeset:   4:1a60820cd1f6
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     wat
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+  $ hg cat e
+  a
+
+  $ cat > $EDITED <<EOF
+  > edit bf757c081cd0 f
+  > EOF
+  $ HGEDITOR="cat $EDITED > " hg histedit tip 2>&1 | fixbundle
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  abort: Make changes as needed, you may commit or record as needed now.
+  When you are finished, run hg histedit --continue to resume.
+  $ hg status
+  A f
+  $ HGEDITOR='true' hg histedit --continue
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg status
+
+log after edit
+  $ hg log --limit 1
+  changeset:   6:bf757c081cd0
+  tag:         tip
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     f
+  
+
+say we'll change the message, but don't.
+  $ cat > ../edit.sh <<EOF
+  > #!/bin/sh
+  > cat \$1 | sed s/pick/mess/ > tmp
+  > mv tmp \$1
+  > EOF
+  $ chmod +x ../edit.sh
+  $ HGEDITOR="../edit.sh" hg histedit tip 2>&1 | fixbundle
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg status
+  $ hg log --limit 1
+  changeset:   6:bf757c081cd0
+  tag:         tip
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     f
+  
+
+modify the message
+  $ cat > $EDITED <<EOF
+  > mess bf757c081cd0 f
+  > EOF
+  $ HGEDITOR="cat $EDITED > " hg histedit tip 2>&1 | fixbundle
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg status
+  $ hg log --limit 1
+  changeset:   6:0b16746f8e89
+  tag:         tip
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     mess bf757c081cd0 f
+  
+
+rollback should not work after a histedit
+  $ hg rollback
+  no rollback information available
+  [1]
+
+  $ cd ..
--- a/tests/test-histedit-fold	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-. "$TESTDIR/histedit-helpers.sh"
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-EDITED=`pwd`/editedhistory
-cat > $EDITED <<EOF
-pick e860deea161a e
-pick 652413bf663e f
-fold 177f92b77385 c
-pick 055a42cdd887 d
-EOF
-initrepo ()
-{
-    hg init r
-    cd r
-    for x in a b c d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-}
-
-initrepo
-
-echo % log before edit
-hg log --graph
-
-echo % edit the history
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo % log after edit
-hg log --graph
-
-echo % post-fold manifest
-hg manifest
-
-echo % EOF
--- a/tests/test-histedit-fold-non-commute	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-#!/bin/sh
-
-. "$TESTDIR/histedit-helpers.sh"
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-EDITED=`pwd`/editedhistory
-cat > $EDITED <<EOF
-pick 177f92b77385 c
-pick 055a42cdd887 d
-fold bfa474341cc9 does not commute with e
-pick e860deea161a e
-pick 652413bf663e f
-EOF
-initrepo ()
-{
-    hg init r
-    cd r
-    for x in a b c d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-    echo a >> e
-    hg ci -m 'does not commute with e'
-}
-
-initrepo
-
-echo % log before edit
-hg log --graph
-
-echo % edit the history
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo % fix up
-echo a > e
-hg add e
-cat > cat.py <<EOF
-import sys
-print open(sys.argv[1]).read()
-print
-print
-EOF
-HGEDITOR="python cat.py" hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed'
-
-echo
-echo % just continue this time
-hg histedit --continue 2>&1 | fixbundle
-
-
-echo % log after edit
-hg log --graph
-
-echo % contents of e
-hg cat e
-
-echo % manifest
-hg manifest
-
-echo % EOF
--- a/tests/test-histedit-fold-non-commute.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-% log before edit
-@  changeset:   6:bfa474341cc9
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     does not commute with e
-|
-o  changeset:   5:652413bf663e
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% edit the history
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-% fix up
-d
-***
-does not commute with e
-
-
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-file e already exists
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-
-% just continue this time
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% log after edit
-@  changeset:   4:f768fd60ca34
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   3:671efe372e33
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% contents of e
-a
-% manifest
-a
-b
-c
-d
-e
-f
-% EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-fold-non-commute.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,146 @@
+  $ . "$TESTDIR/histedit-helpers.sh"
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ EDITED=`pwd`/editedhistory
+  $ cat > $EDITED <<EOF
+  > pick 177f92b77385 c
+  > pick 055a42cdd887 d
+  > fold bfa474341cc9 does not commute with e
+  > pick e860deea161a e
+  > pick 652413bf663e f
+  > EOF
+  $ initrepo ()
+  > {
+  >     hg init $1
+  >     cd $1
+  >     for x in a b c d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  >     echo a >> e
+  >     hg ci -m 'does not commute with e'
+  >     cd ..
+  > }
+
+  $ initrepo r
+  $ cd r
+
+log before edit
+  $ hg log --graph
+  @  changeset:   6:bfa474341cc9
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     does not commute with e
+  |
+  o  changeset:   5:652413bf663e
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+edit the history
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+
+fix up
+  $ echo a > e
+  $ hg add e
+  $ cat > cat.py <<EOF
+  > import sys
+  > print open(sys.argv[1]).read()
+  > print
+  > print
+  > EOF
+  $ HGEDITOR="python cat.py" hg histedit --continue 2>&1 | fixbundle | grep -v '2 files removed'
+  d
+  ***
+  does not commute with e
+  
+  
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  file e already exists
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+
+just continue this time
+  $ hg histedit --continue 2>&1 | fixbundle
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+log after edit
+  $ hg log --graph
+  @  changeset:   4:f768fd60ca34
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   3:671efe372e33
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+contents of e
+  $ hg cat e
+  a
+
+manifest
+  $ hg manifest
+  a
+  b
+  c
+  d
+  e
+  f
+
+  $ cd ..
--- a/tests/test-histedit-fold.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-% log before edit
-@  changeset:   5:652413bf663e
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% edit the history
-0 files updated, 0 files merged, 4 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% log after edit
-@  changeset:   4:82b0c1ff1777
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   3:150aafb44a91
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     pick e860deea161a e
-|
-o  changeset:   2:493dc0964412
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% post-fold manifest
-a
-b
-c
-d
-e
-f
-% EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-fold.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,110 @@
+  $ . "$TESTDIR/histedit-helpers.sh"
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ EDITED=`pwd`/editedhistory
+  $ cat > $EDITED <<EOF
+  > pick e860deea161a e
+  > pick 652413bf663e f
+  > fold 177f92b77385 c
+  > pick 055a42cdd887 d
+  > EOF
+  $ initrepo ()
+  > {
+  >     hg init r
+  >     cd r
+  >     for x in a b c d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  > }
+
+  $ initrepo
+
+log before edit
+  $ hg log --graph
+  @  changeset:   5:652413bf663e
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+edit the history
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 4 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+log after edit
+  $ hg log --graph
+  @  changeset:   4:82b0c1ff1777
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   3:150aafb44a91
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     pick e860deea161a e
+  |
+  o  changeset:   2:493dc0964412
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+post-fold manifest
+  $ hg manifest
+  a
+  b
+  c
+  d
+  e
+  f
+
+  $ cd ..
--- a/tests/test-histedit-no-change	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-#!/bin/sh
-
-# test for issue #6:
-# editing a changeset without any actual change would corrupt the repository
-
-. "$TESTDIR/histedit-helpers.sh"
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-initrepo ()
-{
-    dir="$1"
-    comment="$2"
-
-    if [ -n "${comment}" ]; then
-        echo % ${comment}
-        echo % ${comment} | sed 's:.:-:g'
-    fi
-
-    hg init ${dir}
-    cd ${dir}
-    for x in a b c d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-}
-
-geneditor ()
-{
-    # generate an editor script for selecting changesets to be edited
-
-    choice=$1  # changesets that should be edited (using sed line ranges)
-
-    cat <<EOF | sed 's:^....::'
-    #!/bin/sh
-
-    # editing the rules, replacing 'pick' with 'edit' for the chosen lines
-    sed '${choice}s:^pick:edit:' \$1 > \${1}.tmp
-    mv \${1}.tmp \$1
-
-    # displaying the resulting rules, minus comments and empty lines
-    sed '/^#/d;/^$/d;s:^:| :' \$1 >&2
-EOF
-}
-
-startediting ()
-{
-    # begin an editing session
-
-    choice="$1"  # changesets that should be edited
-    number="$2"  # number of changesets considered (from tip)
-    comment="$3"
-
-    geneditor "${choice}" > edit.sh
-    chmod +x edit.sh
-
-    echo % start editing the history ${comment}
-    HGEDITOR=./edit.sh hg histedit -- -${number} 2>&1 | fixbundle
-}
-
-continueediting ()
-{
-    # continue an edit already in progress
-
-    editor="$1"  # message editor when finalizing editing
-    comment="$2"
-
-    echo % finalize changeset editing ${comment}
-    HGEDITOR=${editor} hg histedit --continue 2>&1 | fixbundle
-}
-
-graphlog ()
-{
-    comment="${1:-log}"
-
-    echo % "${comment}"
-    hg glog --template '{rev} {node} \"{desc|firstline}\"\n'
-}
-
-
-
-initrepo r1 "test editing with no change"
-graphlog "log before editing"
-startediting 2 3 "(not changing anything)" # edit the 2nd of 3 changesets
-continueediting true "(leaving commit message unaltered)"
-
-echo "% check state of working copy"
-hg id
-
-graphlog "log after history editing"
-
-
-cd ..
-initrepo r2 "test editing with no change, then abort"
-graphlog "log before editing"
-startediting 1,2 3 "(not changing anything)" # edit the 1st two of 3 changesets
-continueediting true "(leaving commit message unaltered)"
-graphlog "log after first edit"
-
-echo % abort editing session
-hg histedit --abort 2>&1 | fixbundle
-
-graphlog "log after abort"
-
-echo % EOF
--- a/tests/test-histedit-no-change.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-% test editing with no change
------------------------------
-% log before editing
-@  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
-|
-o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
-|
-o  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
-|
-o  2 177f92b773850b59254aa5e923436f921b55483b "c"
-|
-o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
-|
-o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
-
-% start editing the history (not changing anything)
-| pick 055a42cdd887 3 d
-| edit e860deea161a 4 e
-| pick 652413bf663e 5 f
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-abort: Make changes as needed, you may commit or record as needed now.
-When you are finished, run hg histedit --continue to resume.
-% finalize changeset editing (leaving commit message unaltered)
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% check state of working copy
-652413bf663e tip
-% log after history editing
-@  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
-|
-o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
-|
-o  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
-|
-o  2 177f92b773850b59254aa5e923436f921b55483b "c"
-|
-o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
-|
-o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
-
-% test editing with no change, then abort
------------------------------------------
-% log before editing
-@  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
-|
-o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
-|
-o  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
-|
-o  2 177f92b773850b59254aa5e923436f921b55483b "c"
-|
-o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
-|
-o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
-
-% start editing the history (not changing anything)
-| edit 055a42cdd887 3 d
-| edit e860deea161a 4 e
-| pick 652413bf663e 5 f
-0 files updated, 0 files merged, 3 files removed, 0 files unresolved
-abort: Make changes as needed, you may commit or record as needed now.
-When you are finished, run hg histedit --continue to resume.
-% finalize changeset editing (leaving commit message unaltered)
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-abort: Make changes as needed, you may commit or record as needed now.
-When you are finished, run hg histedit --continue to resume.
-% log after first edit
-o  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
-|
-o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
-|
-@  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
-|
-o  2 177f92b773850b59254aa5e923436f921b55483b "c"
-|
-o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
-|
-o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
-
-% abort editing session
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% log after abort
-@  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
-|
-o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
-|
-o  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
-|
-o  2 177f92b773850b59254aa5e923436f921b55483b "c"
-|
-o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
-|
-o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
-
-% EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-no-change.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,189 @@
+test for old histedit issue #6:
+editing a changeset without any actual change would corrupt the repository
+
+  $ . "$TESTDIR/histedit-helpers.sh"
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ initrepo ()
+  > {
+  >     dir="$1"
+  >     comment="$2"
+  >     if [ -n "${comment}" ]; then
+  >         echo % ${comment}
+  >         echo % ${comment} | sed 's:.:-:g'
+  >     fi
+  >     hg init ${dir}
+  >     cd ${dir}
+  >     for x in a b c d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  >     cd ..
+  > }
+
+  $ geneditor ()
+  > {
+  >     # generate an editor script for selecting changesets to be edited
+  >     choice=$1  # changesets that should be edited (using sed line ranges)
+  >     cat <<EOF | sed 's:^....::'
+  >     #!/bin/sh
+  >     # editing the rules, replacing 'pick' with 'edit' for the chosen lines
+  >     sed '${choice}s:^pick:edit:' \$1 > \${1}.tmp
+  >     mv \${1}.tmp \$1
+  >     # displaying the resulting rules, minus comments and empty lines
+  >     sed '/^#/d;/^$/d;s:^:| :' \$1 >&2
+  > EOF
+  > }
+
+  $ startediting ()
+  > {
+  >     # begin an editing session
+  >     choice="$1"  # changesets that should be edited
+  >     number="$2"  # number of changesets considered (from tip)
+  >     comment="$3"
+  >     geneditor "${choice}" > edit.sh
+  >     chmod +x edit.sh
+  >     echo % start editing the history ${comment}
+  >     HGEDITOR=./edit.sh hg histedit -- -${number} 2>&1 | fixbundle
+  > }
+
+  $ continueediting ()
+  > {
+  >     # continue an edit already in progress
+  >     editor="$1"  # message editor when finalizing editing
+  >     comment="$2"
+  >     echo % finalize changeset editing ${comment}
+  >     HGEDITOR=${editor} hg histedit --continue 2>&1 | fixbundle
+  > }
+
+  $ graphlog ()
+  > {
+  >     comment="${1:-log}"
+  >     echo % "${comment}"
+  >     hg glog --template '{rev} {node} \"{desc|firstline}\"\n'
+  > }
+
+
+  $ initrepo r1 "test editing with no change"
+  % test editing with no change
+  -----------------------------
+  $ cd r1
+  $ graphlog "log before editing"
+  % log before editing
+  @  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
+  |
+  o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
+  |
+  o  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
+  |
+  o  2 177f92b773850b59254aa5e923436f921b55483b "c"
+  |
+  o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
+  |
+  o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
+  
+  $ startediting 2 3 "(not changing anything)" # edit the 2nd of 3 changesets
+  % start editing the history (not changing anything)
+  | pick 055a42cdd887 3 d
+  | edit e860deea161a 4 e
+  | pick 652413bf663e 5 f
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  abort: Make changes as needed, you may commit or record as needed now.
+  When you are finished, run hg histedit --continue to resume.
+  $ continueediting true "(leaving commit message unaltered)"
+  % finalize changeset editing (leaving commit message unaltered)
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+check state of working copy
+  $ hg id
+  652413bf663e tip
+
+  $ graphlog "log after history editing"
+  % log after history editing
+  @  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
+  |
+  o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
+  |
+  o  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
+  |
+  o  2 177f92b773850b59254aa5e923436f921b55483b "c"
+  |
+  o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
+  |
+  o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
+  
+
+  $ cd ..
+
+  $ initrepo r2 "test editing with no change, then abort"
+  % test editing with no change, then abort
+  -----------------------------------------
+  $ cd r2
+  $ graphlog "log before editing"
+  % log before editing
+  @  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
+  |
+  o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
+  |
+  o  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
+  |
+  o  2 177f92b773850b59254aa5e923436f921b55483b "c"
+  |
+  o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
+  |
+  o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
+  
+  $ startediting 1,2 3 "(not changing anything)" # edit the 1st two of 3 changesets
+  % start editing the history (not changing anything)
+  | edit 055a42cdd887 3 d
+  | edit e860deea161a 4 e
+  | pick 652413bf663e 5 f
+  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
+  abort: Make changes as needed, you may commit or record as needed now.
+  When you are finished, run hg histedit --continue to resume.
+  $ continueediting true "(leaving commit message unaltered)"
+  % finalize changeset editing (leaving commit message unaltered)
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  abort: Make changes as needed, you may commit or record as needed now.
+  When you are finished, run hg histedit --continue to resume.
+  $ graphlog "log after first edit"
+  % log after first edit
+  o  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
+  |
+  o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
+  |
+  @  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
+  |
+  o  2 177f92b773850b59254aa5e923436f921b55483b "c"
+  |
+  o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
+  |
+  o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
+  
+
+abort editing session
+  $ hg histedit --abort 2>&1 | fixbundle
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ graphlog "log after abort"
+  % log after abort
+  @  5 652413bf663ef2a641cab26574e46d5f5a64a55a "f"
+  |
+  o  4 e860deea161a2f77de56603b340ebbb4536308ae "e"
+  |
+  o  3 055a42cdd88768532f9cf79daa407fc8d138de9b "d"
+  |
+  o  2 177f92b773850b59254aa5e923436f921b55483b "c"
+  |
+  o  1 d2ae7f538514cd87c17547b0de4cea71fe1af9fb "b"
+  |
+  o  0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b "a"
+  
+
+  $ cd ..
--- a/tests/test-histedit-non-commute	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-#!/bin/sh
-
-. "$TESTDIR/histedit-helpers.sh"
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-EDITED=`pwd`/editedhistory
-cat > $EDITED <<EOF
-pick 177f92b77385 c
-pick 055a42cdd887 d
-pick bfa474341cc9 does not commute with e
-pick e860deea161a e
-pick 652413bf663e f
-EOF
-initrepo ()
-{
-    hg init r
-    cd r
-    for x in a b c d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-    echo a >> e
-    hg ci -m 'does not commute with e'
-}
-
-initrepo
-
-echo % log before edit
-hg log --graph
-
-echo % edit the history
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo % abort the edit
-hg histedit --abort 2>&1 | fixbundle
-
-echo
-echo
-echo % second edit set
-
-hg log --graph
-
-echo % edit the history
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo % fix up
-echo a > e
-hg add e
-hg histedit --continue 2>&1 | fixbundle
-
-echo
-echo % just continue this time
-hg histedit --continue 2>&1 | fixbundle
-
-echo % log after edit
-hg log --graph
-
-echo % start over
-
-cd ..
-rm -r r
-initrepo
-cat > $EDITED <<EOF
-pick 177f92b77385 c
-pick 055a42cdd887 d
-mess bfa474341cc9 does not commute with e
-pick e860deea161a e
-pick 652413bf663e f
-EOF
-
-echo % edit the history, this time with a fold action
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo
-echo a > e
-hg add e
-HGEDITOR="cat $EDITED > " hg histedit --continue 2>&1 | fixbundle
-echo % second edit also fails, but just continue
-hg histedit --continue 2>&1 | fixbundle
-
-echo % post message fix
-hg log --graph
-
-echo % EOF
--- a/tests/test-histedit-non-commute-abort	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-. "$TESTDIR/histedit-helpers.sh"
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-EDITED=`pwd`/editedhistory
-cat > $EDITED <<EOF
-pick 177f92b77385 c
-pick 055a42cdd887 d
-pick bfa474341cc9 does not commute with e
-pick e860deea161a e
-pick 652413bf663e f
-EOF
-initrepo ()
-{
-    hg init r
-    cd r
-    for x in a b c d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-    echo a >> e
-    hg ci -m 'does not commute with e'
-}
-
-initrepo
-
-echo % log before edit
-hg log --graph
-
-echo % edit the history
-HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
-
-echo '% fix up (pre abort)'
-echo a > e
-hg add e
-hg histedit --continue 2>&1 | fixbundle
-
-echo % abort the edit
-hg histedit --abort 2>&1 | fixbundle
-
-echo % log after abort
-hg log --graph
-echo % EOF
--- a/tests/test-histedit-non-commute-abort.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-% log before edit
-@  changeset:   6:bfa474341cc9
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     does not commute with e
-|
-o  changeset:   5:652413bf663e
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% edit the history
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-% fix up (pre abort)
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-file e already exists
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-% abort the edit
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% log after abort
-@  changeset:   6:bfa474341cc9
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     does not commute with e
-|
-o  changeset:   5:652413bf663e
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-non-commute-abort.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,131 @@
+  $ . "$TESTDIR/histedit-helpers.sh"
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ EDITED=`pwd`/editedhistory
+  $ cat > $EDITED <<EOF
+  > pick 177f92b77385 c
+  > pick 055a42cdd887 d
+  > pick bfa474341cc9 does not commute with e
+  > pick e860deea161a e
+  > pick 652413bf663e f
+  > EOF
+  $ initrepo ()
+  > {
+  >     hg init r
+  >     cd r
+  >     for x in a b c d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  >     echo a >> e
+  >     hg ci -m 'does not commute with e'
+  >     cd ..
+  > }
+
+  $ initrepo
+  $ cd r
+
+log before edit
+  $ hg log --graph
+  @  changeset:   6:bfa474341cc9
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     does not commute with e
+  |
+  o  changeset:   5:652413bf663e
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+edit the history
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+
+fix up (pre abort)
+  $ echo a > e
+  $ hg add e
+  $ hg histedit --continue 2>&1 | fixbundle
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  file e already exists
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+
+abort the edit
+  $ hg histedit --abort 2>&1 | fixbundle
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+log after abort
+  $ hg log --graph
+  @  changeset:   6:bfa474341cc9
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     does not commute with e
+  |
+  o  changeset:   5:652413bf663e
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+  $ cd ..
--- a/tests/test-histedit-non-commute.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-% log before edit
-@  changeset:   6:bfa474341cc9
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     does not commute with e
-|
-o  changeset:   5:652413bf663e
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% edit the history
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-% abort the edit
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-
-% second edit set
-@  changeset:   6:bfa474341cc9
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     does not commute with e
-|
-o  changeset:   5:652413bf663e
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:e860deea161a
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% edit the history
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-% fix up
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-file e already exists
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-
-% just continue this time
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% log after edit
-@  changeset:   5:9ab84894b459
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:1fff3ae8199d
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     does not commute with e
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% start over
-% edit the history, this time with a fold action
-0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-file e already exists
-1 out of 1 hunks FAILED -- saving rejects to file e.rej
-abort: Fix up the change and run hg histedit --continue
-% second edit also fails, but just continue
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% post message fix
-@  changeset:   5:6459970fb49b
-|  tag:         tip
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     f
-|
-o  changeset:   4:556f27c874b0
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     pick 177f92b77385 c
-|
-o  changeset:   3:055a42cdd887
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     d
-|
-o  changeset:   2:177f92b77385
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     c
-|
-o  changeset:   1:d2ae7f538514
-|  user:        test
-|  date:        Thu Jan 01 00:00:00 1970 +0000
-|  summary:     b
-|
-o  changeset:   0:cb9a9f314b8b
-   user:        test
-   date:        Thu Jan 01 00:00:00 1970 +0000
-   summary:     a
-
-% EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-non-commute.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,244 @@
+  $ . "$TESTDIR/histedit-helpers.sh"
+
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ EDITED=`pwd`/editedhistory
+  $ cat > $EDITED <<EOF
+  > pick 177f92b77385 c
+  > pick 055a42cdd887 d
+  > pick bfa474341cc9 does not commute with e
+  > pick e860deea161a e
+  > pick 652413bf663e f
+  > EOF
+  $ initrepo ()
+  > {
+  >     hg init $1
+  >     cd $1
+  >     for x in a b c d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  >     echo a >> e
+  >     hg ci -m 'does not commute with e'
+  >     cd ..
+  > }
+
+  $ initrepo r1
+  $ cd r1
+
+log before edit
+  $ hg log --graph
+  @  changeset:   6:bfa474341cc9
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     does not commute with e
+  |
+  o  changeset:   5:652413bf663e
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+edit the history
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+
+abort the edit
+  $ hg histedit --abort 2>&1 | fixbundle
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+
+second edit set
+
+  $ hg log --graph
+  @  changeset:   6:bfa474341cc9
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     does not commute with e
+  |
+  o  changeset:   5:652413bf663e
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:e860deea161a
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+edit the history
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+
+fix up
+  $ echo a > e
+  $ hg add e
+  $ hg histedit --continue 2>&1 | fixbundle
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  file e already exists
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+
+just continue this time
+  $ hg histedit --continue 2>&1 | fixbundle
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+log after edit
+  $ hg log --graph
+  @  changeset:   5:9ab84894b459
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:1fff3ae8199d
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     does not commute with e
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+start over
+
+  $ cd ..
+
+  $ initrepo r2
+  $ cd r2
+  $ cat > $EDITED <<EOF
+  > pick 177f92b77385 c
+  > pick 055a42cdd887 d
+  > mess bfa474341cc9 does not commute with e
+  > pick e860deea161a e
+  > pick 652413bf663e f
+  > EOF
+
+edit the history, this time with a fold action
+  $ HGEDITOR="cat $EDITED > " hg histedit 177f92b77385 2>&1 | fixbundle
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+
+  $ echo a > e
+  $ hg add e
+  $ HGEDITOR="cat $EDITED > " hg histedit --continue 2>&1 | fixbundle
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  file e already exists
+  1 out of 1 hunks FAILED -- saving rejects to file e.rej
+  abort: Fix up the change and run hg histedit --continue
+second edit also fails, but just continue
+  $ hg histedit --continue 2>&1 | fixbundle
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+post message fix
+  $ hg log --graph
+  @  changeset:   5:6459970fb49b
+  |  tag:         tip
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     f
+  |
+  o  changeset:   4:556f27c874b0
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     pick 177f92b77385 c
+  |
+  o  changeset:   3:055a42cdd887
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     d
+  |
+  o  changeset:   2:177f92b77385
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     c
+  |
+  o  changeset:   1:d2ae7f538514
+  |  user:        test
+  |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  summary:     b
+  |
+  o  changeset:   0:cb9a9f314b8b
+     user:        test
+     date:        Thu Jan 01 00:00:00 1970 +0000
+     summary:     a
+  
+
+  $ cd ..
--- a/tests/test-histedit-outgoing	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-#!/bin/sh
-
-cat >> $HGRCPATH <<EOF
-[extensions]
-graphlog=
-histedit=
-EOF
-
-EDITED=`pwd`/editedhistory
-cat > $EDITED <<EOF
-pick 177f92b77385 c
-pick e860deea161a e
-pick 652413bf663e f
-pick 055a42cdd887 d
-EOF
-initrepo ()
-{
-    hg init r
-    cd r
-    for x in a b c ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-
-    cd ..
-    hg clone r r2 | grep -v updating
-    cd r2
-    for x in d e f ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-
-    cd ..
-    hg init r3
-    cd r3
-    for x in g h i ; do
-        echo $x > $x
-        hg add $x
-        hg ci -m $x
-    done
-    cd ..
-}
-
-initrepo
-
-echo % show the edit commands offered by outgoing
-cd r2
-HGEDITOR=cat hg histedit --outgoing ../r | grep -v comparing | grep -v searching
-cd ..
-
-echo % show the error from unrelated repos
-cd r3
-HGEDITOR=cat hg histedit --outgoing ../r | grep -v comparing | grep -v searching
-cd ..
-
-echo % show the error from unrelated repos
-cd r3
-HGEDITOR=cat hg histedit --force --outgoing ../r
-cd ..
--- a/tests/test-histedit-outgoing.out	Sat Jun 30 03:34:41 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-3 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% show the edit commands offered by outgoing
-pick 055a42cdd887 3 d
-pick e860deea161a 4 e
-pick 652413bf663e 5 f
-
-# Edit history between 055a42cdd887 and 652413bf663e
-#
-# Commands:
-#  p, pick = use commit
-#  e, edit = use commit, but stop for amending
-#  f, fold = use commit, but fold into previous commit (combines N and N-1)
-#  d, drop = remove commit from history
-#  m, mess = edit message without changing commit content
-#
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% show the error from unrelated repos
-abort: repository is unrelated
-% show the error from unrelated repos
-comparing with ../r
-searching for changes
-warning: repository is unrelated
-pick 2a4042b45417 0 g
-pick 68c46b4927ce 1 h
-pick 51281e65ba79 2 i
-
-# Edit history between 2a4042b45417 and 51281e65ba79
-#
-# Commands:
-#  p, pick = use commit
-#  e, edit = use commit, but stop for amending
-#  f, fold = use commit, but fold into previous commit (combines N and N-1)
-#  d, drop = remove commit from history
-#  m, mess = edit message without changing commit content
-#
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-histedit-outgoing.t	Sat Jun 30 03:34:44 2012 +0200
@@ -0,0 +1,91 @@
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > histedit=
+  > EOF
+
+  $ EDITED=`pwd`/editedhistory
+  $ cat > $EDITED <<EOF
+  > pick 177f92b77385 c
+  > pick e860deea161a e
+  > pick 652413bf663e f
+  > pick 055a42cdd887 d
+  > EOF
+  $ initrepos ()
+  > {
+  >     hg init r
+  >     cd r
+  >     for x in a b c ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  >     cd ..
+  >     hg clone r r2 | grep -v updating
+  >     cd r2
+  >     for x in d e f ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  >     cd ..
+  >     hg init r3
+  >     cd r3
+  >     for x in g h i ; do
+  >         echo $x > $x
+  >         hg add $x
+  >         hg ci -m $x
+  >     done
+  >     cd ..
+  > }
+
+  $ initrepos
+  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+show the edit commands offered by outgoing
+  $ cd r2
+  $ HGEDITOR=cat hg histedit --outgoing ../r | grep -v comparing | grep -v searching
+  pick 055a42cdd887 3 d
+  pick e860deea161a 4 e
+  pick 652413bf663e 5 f
+  
+  # Edit history between 055a42cdd887 and 652413bf663e
+  #
+  # Commands:
+  #  p, pick = use commit
+  #  e, edit = use commit, but stop for amending
+  #  f, fold = use commit, but fold into previous commit (combines N and N-1)
+  #  d, drop = remove commit from history
+  #  m, mess = edit message without changing commit content
+  #
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cd ..
+
+show the error from unrelated repos
+  $ cd r3
+  $ HGEDITOR=cat hg histedit --outgoing ../r | grep -v comparing | grep -v searching
+  abort: repository is unrelated
+  [1]
+  $ cd ..
+
+show the error from unrelated repos
+  $ cd r3
+  $ HGEDITOR=cat hg histedit --force --outgoing ../r
+  comparing with ../r
+  searching for changes
+  warning: repository is unrelated
+  pick 2a4042b45417 0 g
+  pick 68c46b4927ce 1 h
+  pick 51281e65ba79 2 i
+  
+  # Edit history between 2a4042b45417 and 51281e65ba79
+  #
+  # Commands:
+  #  p, pick = use commit
+  #  e, edit = use commit, but stop for amending
+  #  f, fold = use commit, but fold into previous commit (combines N and N-1)
+  #  d, drop = remove commit from history
+  #  m, mess = edit message without changing commit content
+  #
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cd ..