diff -r 3c9a5ed9b1e2 -r 1219d019339d tests/test-mq-strip.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-mq-strip.t Mon Aug 16 10:53:52 2010 +0900 @@ -0,0 +1,382 @@ + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + $ echo "graphlog=" >> $HGRCPATH + + $ restore() { + > hg unbundle -q .hg/strip-backup/* + > rm .hg/strip-backup/* + > } + $ teststrip() { + > hg up -C $1 + > echo % before update $1, strip $2 + > hg parents + > hg --traceback strip $2 + > echo % after update $1, strip $2 + > hg parents + > restore + > } + + $ hg init test + $ cd test + + $ echo foo > bar + $ hg ci -Ama + adding bar + + $ echo more >> bar + $ hg ci -Amb + + $ echo blah >> bar + $ hg ci -Amc + + $ hg up 1 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo blah >> bar + $ hg ci -Amd + created new head + + $ echo final >> bar + $ hg ci -Ame + + $ hg log + changeset: 4:443431ffac4f + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: e + + changeset: 3:65bd5f99a4a3 + parent: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: d + + changeset: 2:264128213d29 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: c + + changeset: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: b + + changeset: 0:9ab35a2d17cb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + + $ teststrip 4 4 + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + % before update 4, strip 4 + changeset: 4:443431ffac4f + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: e + + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + saved backup bundle to .* + % after update 4, strip 4 + changeset: 3:65bd5f99a4a3 + tag: tip + parent: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: d + + $ teststrip 4 3 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + % before update 4, strip 3 + changeset: 4:443431ffac4f + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: e + + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + saved backup bundle to .* + % after update 4, strip 3 + changeset: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: b + + $ teststrip 1 4 + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + % before update 1, strip 4 + changeset: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: b + + saved backup bundle to .* + % after update 1, strip 4 + changeset: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: b + + $ teststrip 4 2 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + % before update 4, strip 2 + changeset: 4:443431ffac4f + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: e + + saved backup bundle to .* + % after update 4, strip 2 + changeset: 3:443431ffac4f + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: e + + $ teststrip 4 1 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + % before update 4, strip 1 + changeset: 4:264128213d29 + tag: tip + parent: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: c + + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + saved backup bundle to .* + % after update 4, strip 1 + changeset: 0:9ab35a2d17cb + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + $ teststrip null 4 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + % before update null, strip 4 + saved backup bundle to .* + % after update null, strip 4 + + $ hg log + changeset: 4:264128213d29 + tag: tip + parent: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: c + + changeset: 3:443431ffac4f + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: e + + changeset: 2:65bd5f99a4a3 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: d + + changeset: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: b + + changeset: 0:9ab35a2d17cb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + + $ hg up -C 2 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg merge 4 + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + +before strip of merge parent + + $ hg parents + changeset: 2:65bd5f99a4a3 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: d + + changeset: 4:264128213d29 + tag: tip + parent: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: c + + $ hg strip 4 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + saved backup bundle to .* + +after strip of merge parent + + $ hg parents + changeset: 1:ef3a871183d7 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: b + + $ restore + + $ hg up + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg glog + @ changeset: 4:264128213d29 + | tag: tip + | parent: 1:ef3a871183d7 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: c + | + | o changeset: 3:443431ffac4f + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: e + | | + | o changeset: 2:65bd5f99a4a3 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: d + | + o changeset: 1:ef3a871183d7 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: b + | + o changeset: 0:9ab35a2d17cb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + +2 is parent of 3, only one strip should happen + + $ hg strip 2 3 + saved backup bundle to .* + $ hg glog + @ changeset: 2:264128213d29 + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: c + | + o changeset: 1:ef3a871183d7 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: b + | + o changeset: 0:9ab35a2d17cb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + $ restore + $ hg glog + o changeset: 4:443431ffac4f + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: e + | + o changeset: 3:65bd5f99a4a3 + | parent: 1:ef3a871183d7 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: d + | + | @ changeset: 2:264128213d29 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: c + | + o changeset: 1:ef3a871183d7 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: b + | + o changeset: 0:9ab35a2d17cb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + +2 different branches: 2 strips + + $ hg strip 2 4 + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + saved backup bundle to .* + saved backup bundle to .* + $ hg glog + @ changeset: 2:65bd5f99a4a3 + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: d + | + o changeset: 1:ef3a871183d7 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: b + | + o changeset: 0:9ab35a2d17cb + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: a + + $ restore + +2 different branches and a common ancestor: 1 strip + + $ hg strip 1 2 4 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + saved backup bundle to .* + $ restore + + +remove branchy history for qimport tests + + $ hg strip 3 + saved backup bundle to .* + + +strip of applied mq should cleanup status file + + $ hg up -C 3 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo fooagain >> bar + $ hg ci -mf + $ hg qimport -r tip:2 + +applied patches before strip + + $ hg qapplied + 2.diff + 3.diff + 4.diff + +stripping revision in queue + + $ hg strip 3 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + saved backup bundle to .* + +applied patches after stripping rev in queue + + $ hg qapplied + 2.diff + +stripping ancestor of queue + + $ hg strip 1 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + saved backup bundle to .* + +applied patches after stripping ancestor of queue + + $ hg qapplied