summaryrefslogtreecommitdiff
path: root/tests/test-histedit-edit.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-histedit-edit.t')
-rw-r--r--tests/test-histedit-edit.t178
1 files changed, 178 insertions, 0 deletions
diff --git a/tests/test-histedit-edit.t b/tests/test-histedit-edit.t
new file mode 100644
index 0000000..0ebe620
--- /dev/null
+++ b/tests/test-histedit-edit.t
@@ -0,0 +1,178 @@
+ $ . "$TESTDIR/histedit-helpers.sh"
+
+ $ cat >> $HGRCPATH <<EOF
+ > [extensions]
+ > graphlog=
+ > histedit=
+ > EOF
+
+ $ EDITED="$TESTTMP/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
+ > cat "\$1" | sed s/pick/mess/ > tmp
+ > mv tmp "\$1"
+ > EOF
+ $ HGEDITOR="sh ../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 ..