Mercurial > hg
view tests/test-mq-strip.t @ 15800:e4fc0f0b4f7e stable
rebase: reinstate old-style rev spec support for the source and base (issue3181)
As of b12362ab13e7 (first released as part of Mercurial 2.0), the rebase command
accepted ONLY revsets for the source and base arguments and no longer accepted
old-style revision specifications. As a result, some revision names were no
longer recognised, e.g.
hg rebase --base br-anch
abort: unknown revision 'br'!
These arguments are now interpreted first as old-style revision specifications,
then as revsets when no matching revision is found. This restores backwards
compatibility with releases prior to 2.0.
author | Steven Brown <StevenGBrown@gmail.com> |
---|---|
date | Sun, 08 Jan 2012 23:09:35 +0800 |
parents | 1bb2a56a9d73 |
children | cf17e76be4dd |
line wrap: on
line source
$ 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) % 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) % 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) % 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) % 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) % 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) % 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) 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 "roots(2)" 3 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) $ 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) $ 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) $ restore stripping an empty revset $ hg strip "1 and not 1" abort: empty revision set [255] remove branchy history for qimport tests $ hg strip 3 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) 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 $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) applied patches after stripping ancestor of queue $ hg qapplied Verify strip protects against stripping wc parent when there are uncommited mods $ echo b > b $ hg add b $ hg ci -m 'b' $ hg log --graph @ changeset: 1:7519abd79d14 | tag: tip | 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 $ echo c > b $ echo c > bar $ hg strip tip abort: local changes found [255] $ hg strip tip --keep saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) $ hg log --graph @ changeset: 0:9ab35a2d17cb tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: a $ hg status M bar ? b