From patchwork Wed Mar 5 16:15:18 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [07,of,11,RFC] tests: add test for exec in histedit From: Olle Lundberg X-Patchwork-Id: 3858 Message-Id: To: mercurial-devel@selenic.com Date: Wed, 05 Mar 2014 17:15:18 +0100 # HG changeset patch # User Olle Lundberg # Date 1394034846 -3600 # Wed Mar 05 16:54:06 2014 +0100 # Node ID fabdf9b14020ff00937114fbc28fc1cb7d99993c # Parent 7a3c22979ecb3870454cbead65ef49ca81c2c833 tests: add test for exec in histedit diff --git a/tests/test-histedit-exec.t b/tests/test-histedit-exec.t new file mode 100644 --- /dev/null +++ b/tests/test-histedit-exec.t @@ -0,0 +1,223 @@ + $ . "$TESTDIR/histedit-helpers.sh" + + $ cat >> $HGRCPATH < [extensions] + > histedit= + > 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 exec + $ 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 + + +execute a command with a zero exit code + $ hg histedit 177f92b77385 --commands - 2>&1 << EOF| fixbundle + > pick 177f92b77385 c + > pick 055a42cdd887 d + > pick e860deea161a e + > exec exit 0 + > pick 652413bf663e f + > EOF + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + +log after exec + $ 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 + + +execute a command with a non-zero exit code + $ hg histedit 177f92b77385 --commands - 2>&1 << EOF| fixbundle + > pick 177f92b77385 c + > pick 055a42cdd887 d + > pick e860deea161a e + > exec exit 1 + > pick 652413bf663e f + > EOF + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + Command exited with 1. Fix up the change and run hg histedit --continue + + $ hg summary + parent: 4:e860deea161a + e + branch: default + commit: (clean) + update: 1 new changesets (update) + hist: 2 remaining (histedit --continue) + + $ hg histedit --continue + 1 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 + + +execute a command that modifies the working copy + $ hg histedit 177f92b77385 --commands - 2>&1 << EOF| fixbundle + > pick 177f92b77385 c + > pick 055a42cdd887 d + > pick e860deea161a e + > exec echo foo >> e + > pick 652413bf663e f + > EOF + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + Working copy dirty, please check the files listed above. + When you are finished, run hg histedit --continue to resume. + + $ hg summary + parent: 4:e860deea161a + e + branch: default + commit: 1 modified (new branch head) + update: 1 new changesets (update) + hist: 2 remaining (histedit --continue) + + $ hg commit -m "foo" + created new head + + $ hg histedit --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 + saved backup bundle to $TESTTMP/r/.hg/strip-backup/652413bf663e-backup.hg (glob) + + $ hg cat e + e + foo + + $ hg log --graph + @ changeset: 6:a8b916d59ea3 + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: f + | + o changeset: 5:baf2479ff303 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: foo + | + 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 +