##// END OF EJS Templates
mq: stabilize update after strip of parent revision...
mq: stabilize update after strip of parent revision Strip will (if it updates) update to the parent of revs[0], where revs are the roots of the tree that is stripped. When revs was list(set) it was thus undefined which root parent it would update to. With sorted(set) it is at least stable what it updates to. (But it is very possible that another more useful and predictable behaviour could be defined ... such as updating to the tip-most surviving wd ancestor.)

File last commit:

r18371:ff2c89eb default
r18371:ff2c89eb default
Show More
test-mq-strip.t
468 lines | 11.7 KiB | text/troff | Tads3Lexer
Nicolas Dumazet
tests: unify test-mq-strip
r11906 $ 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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 % 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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 % 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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 % 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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 % 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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 % 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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 % 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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906
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
Wagner Bruna
strip: support revision sets
r12767 $ hg strip "roots(2)" 3
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 $ 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
Mads Kiilerich
mq: stabilize update after strip of parent revision...
r18371 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 $ hg glog
Mads Kiilerich
mq: stabilize update after strip of parent revision...
r18371 o changeset: 2:65bd5f99a4a3
Nicolas Dumazet
tests: unify test-mq-strip
r11906 | tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: d
|
Mads Kiilerich
mq: stabilize update after strip of parent revision...
r18371 @ changeset: 1:ef3a871183d7
Nicolas Dumazet
tests: unify test-mq-strip
r11906 | 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
Wagner Bruna
strip: support revision sets
r12767 $ hg strip 1 "2|4"
Nicolas Dumazet
tests: unify test-mq-strip
r11906 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906 $ restore
Wagner Bruna
strip: support revision sets
r12767 stripping an empty revset
$ hg strip "1 and not 1"
abort: empty revision set
[255]
Nicolas Dumazet
tests: unify test-mq-strip
r11906
remove branchy history for qimport tests
$ hg strip 3
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906
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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906
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
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Nicolas Dumazet
tests: unify test-mq-strip
r11906
applied patches after stripping ancestor of queue
$ hg qapplied
Augie Fackler
strip: add --keep flag to avoid modifying wc during strip...
r12682
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
Martin Geisler
tests: use $TESTTMP more and use (glob) less...
r13572 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Augie Fackler
strip: add --keep flag to avoid modifying wc during strip...
r12682 $ 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
Wagner Bruna
strip: enhance repair.strip to receive a list of nodes (issue3299)...
r16252 $ cd ..
stripping many nodes on a complex graph (issue3299)
$ hg init issue3299
$ cd issue3299
$ hg debugbuilddag '@a.:a@b.:b.:x<a@a.:a<b@b.:b<a@a.:a'
$ hg strip 'not ancestors(x)'
saved backup bundle to $TESTTMP/issue3299/.hg/strip-backup/*-backup.hg (glob)
David Soria Parra
strip: introduce -B option to remove a bookmark...
r16718 test hg strip -B bookmark
$ cd ..
$ hg init bookmarks
$ cd bookmarks
$ hg debugbuilddag '..<2.*1/2:m<2+3:c<m+3:a<2.:b'
$ hg bookmark -r 'a' 'todelete'
$ hg bookmark -r 'b' 'B'
$ hg bookmark -r 'b' 'nostrip'
$ hg bookmark -r 'c' 'delete'
$ hg up -C todelete
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg strip -B nostrip
bookmark 'nostrip' deleted
abort: empty revision set
[255]
$ hg strip -B todelete
Matt Mackall
strip: move bookmark deletion before strip to deal with filecache invalidation
r16829 bookmark 'todelete' deleted
David Soria Parra
strip: introduce -B option to remove a bookmark...
r16718 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
$ hg id -ir dcbb326fdec2
abort: unknown revision 'dcbb326fdec2'!
[255]
$ hg id -ir d62d843c9a01
d62d843c9a01
$ hg bookmarks
B 9:ff43616e5d0f
delete 6:2702dd0c91e7
$ hg strip -B delete
Matt Mackall
strip: move bookmark deletion before strip to deal with filecache invalidation
r16829 bookmark 'delete' deleted
David Soria Parra
strip: introduce -B option to remove a bookmark...
r16718 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
$ hg id -ir 6:2702dd0c91e7
abort: unknown revision '2702dd0c91e7'!
[255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..