test-strip.t
814 lines
| 21.2 KiB
| text/troff
|
Tads3Lexer
/ tests / test-strip.t
Pierre-Yves David
|
r19827 | $ echo "[extensions]" >> $HGRCPATH | ||
$ echo "strip=" >> $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 | ||||
Eric Sumner
|
r23898 | $ hg up -C 4 | ||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg parents | ||||
changeset: 4:264128213d29 | ||||
tag: tip | ||||
parent: 1:ef3a871183d7 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: c | ||||
Eric Sumner
|
r23939 | |||
Pierre-Yves David
|
r26423 | $ hg --traceback strip 4 | ||
Eric Sumner
|
r23898 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
saved backup bundle to $TESTTMP/test/.hg/strip-backup/264128213d29-0b39d6bf-backup.hg (glob) | ||||
$ hg parents | ||||
changeset: 1:ef3a871183d7 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: b | ||||
$ hg debugbundle .hg/strip-backup/* | ||||
Pierre-Yves David
|
r26423 | 264128213d290d868c54642d13aeaa3675551a78 | ||
Eric Sumner
|
r24073 | $ hg pull .hg/strip-backup/* | ||
pulling from .hg/strip-backup/264128213d29-0b39d6bf-backup.hg | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 0 changes to 0 files (+1 heads) | ||||
(run 'hg heads' to see heads, 'hg merge' to merge) | ||||
$ rm .hg/strip-backup/* | ||||
$ hg log --graph | ||||
o 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 | ||||
| | ||||
@ 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 | ||||
Pierre-Yves David
|
r19827 | $ 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 | ||||
Martin Geisler
|
r20117 | $ hg log -G | ||
Pierre-Yves David
|
r19827 | @ 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) | ||||
Martin Geisler
|
r20117 | $ hg log -G | ||
Pierre-Yves David
|
r19827 | @ 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 | ||||
Martin Geisler
|
r20117 | $ hg log -G | ||
Pierre-Yves David
|
r19827 | 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 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) | ||||
Martin Geisler
|
r20117 | $ hg log -G | ||
Pierre-Yves David
|
r19827 | o changeset: 2:65bd5f99a4a3 | ||
| tag: tip | ||||
| 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 | ||||
| | ||||
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 | ||||
Durham Goode
|
r20885 | verify fncache is kept up-to-date | ||
$ touch a | ||||
$ hg ci -qAm a | ||||
$ cat .hg/store/fncache | sort | ||||
data/a.i | ||||
data/bar.i | ||||
$ hg strip tip | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) | ||||
$ cat .hg/store/fncache | ||||
data/bar.i | ||||
Pierre-Yves David
|
r19827 | 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 | ||||
$ echo "mq=" >> $HGRCPATH | ||||
$ 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 | ||||
Mads Kiilerich
|
r19951 | Verify strip protects against stripping wc parent when there are uncommitted mods | ||
Pierre-Yves David
|
r19827 | |||
$ echo b > b | ||||
Matt Mackall
|
r24709 | $ echo bb > bar | ||
Pierre-Yves David
|
r19827 | $ hg add b | ||
$ hg ci -m 'b' | ||||
$ hg log --graph | ||||
Matt Mackall
|
r24709 | @ changeset: 1:76dcf9fab855 | ||
Pierre-Yves David
|
r19827 | | 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 | ||||
Matt Mackall
|
r24709 | $ hg up 0 | ||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo c > bar | ||||
$ hg up -t false | ||||
merging bar | ||||
merging bar failed! | ||||
1 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||||
use 'hg resolve' to retry unresolved file merges | ||||
[1] | ||||
$ hg sum | ||||
parent: 1:76dcf9fab855 tip | ||||
b | ||||
branch: default | ||||
commit: 1 modified, 1 unknown, 1 unresolved | ||||
update: (current) | ||||
Gilles Moris
|
r25382 | phases: 2 draft | ||
Matt Mackall
|
r24709 | mq: 3 unapplied | ||
Pierre-Yves David
|
r19827 | |||
$ echo c > b | ||||
$ 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 | ||||
Matt Mackall
|
r24709 | ? bar.orig | ||
$ rm bar.orig | ||||
$ hg sum | ||||
parent: 0:9ab35a2d17cb tip | ||||
a | ||||
branch: default | ||||
commit: 1 modified, 1 unknown | ||||
update: (current) | ||||
Gilles Moris
|
r25382 | phases: 1 draft | ||
Matt Mackall
|
r24709 | mq: 3 unapplied | ||
Pierre-Yves David
|
r19827 | |||
Strip adds, removes, modifies with --keep | ||||
$ touch b | ||||
$ hg add b | ||||
$ hg commit -mb | ||||
$ touch c | ||||
... with a clean working dir | ||||
$ hg add c | ||||
$ hg rm bar | ||||
$ hg commit -mc | ||||
$ hg status | ||||
$ hg strip --keep tip | ||||
saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) | ||||
$ hg status | ||||
! bar | ||||
? c | ||||
... with a dirty working dir | ||||
$ hg add c | ||||
$ hg rm bar | ||||
$ hg commit -mc | ||||
$ hg status | ||||
$ echo b > b | ||||
$ echo d > d | ||||
$ hg strip --keep tip | ||||
Durham Goode
|
r23835 | saved backup bundle to $TESTTMP/test/.hg/strip-backup/57e364c8a475-4cfed93c-backup.hg (glob) | ||
Pierre-Yves David
|
r19827 | $ hg status | ||
M b | ||||
! bar | ||||
? c | ||||
? d | ||||
$ 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) | ||||
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 | ||||
Stephen Lee
|
r21503 | (activating bookmark todelete) | ||
Pierre-Yves David
|
r19827 | $ hg strip -B nostrip | ||
bookmark 'nostrip' deleted | ||||
abort: empty revision set | ||||
[255] | ||||
$ hg strip -B todelete | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob) | ||||
David Soria Parra
|
r21847 | bookmark 'todelete' deleted | ||
Pierre-Yves David
|
r19827 | $ 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 | ||||
David Soria Parra
|
r21847 | saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob) | ||
Pierre-Yves David
|
r19827 | bookmark 'delete' deleted | ||
$ hg id -ir 6:2702dd0c91e7 | ||||
abort: unknown revision '2702dd0c91e7'! | ||||
[255] | ||||
David Soria Parra
|
r21847 | $ hg update B | ||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(activating bookmark B) | ||||
$ echo a > a | ||||
$ hg add a | ||||
$ hg strip -B B | ||||
abort: local changes found | ||||
[255] | ||||
$ hg bookmarks | ||||
* B 6:ff43616e5d0f | ||||
Pierre-Yves David
|
r19827 | |||
Matt Mackall
|
r21854 | Make sure no one adds back a -b option: | ||
$ hg strip -b tip | ||||
hg strip: option -b not recognized | ||||
hg strip [-k] [-f] [-n] [-B bookmark] [-r] REV... | ||||
strip changesets and all their descendants from the repository | ||||
Matt Mackall
|
r22112 | (use "hg help -e strip" to show help for the strip extension) | ||
Matt Mackall
|
r21854 | |||
Matt Mackall
|
r22117 | options ([+] can be repeated): | ||
Matt Mackall
|
r21854 | |||
-r --rev REV [+] strip specified revision (optional, can specify revisions | ||||
without this option) | ||||
-f --force force removal of changesets, discard uncommitted changes | ||||
(no backup) | ||||
--no-backup no backups | ||||
Yuya Nishihara
|
r24364 | -k --keep do not modify working directory during strip | ||
Matt Mackall
|
r21854 | -B --bookmark VALUE remove revs only reachable from given bookmark | ||
--mq operate on patch repository | ||||
Matt Mackall
|
r22111 | (use "hg strip -h" to show more help) | ||
Matt Mackall
|
r21854 | [255] | ||
Durham Goode
|
r23835 | |||
$ cd .. | ||||
Verify bundles don't get overwritten: | ||||
$ hg init doublebundle | ||||
$ cd doublebundle | ||||
$ touch a | ||||
$ hg commit -Aqm a | ||||
$ touch b | ||||
$ hg commit -Aqm b | ||||
$ hg strip -r 0 | ||||
0 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-e68910bd-backup.hg (glob) | ||||
$ ls .hg/strip-backup | ||||
3903775176ed-e68910bd-backup.hg | ||||
$ hg pull -q -r 3903775176ed .hg/strip-backup/3903775176ed-e68910bd-backup.hg | ||||
$ hg strip -r 0 | ||||
saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-54390173-backup.hg (glob) | ||||
$ ls .hg/strip-backup | ||||
3903775176ed-54390173-backup.hg | ||||
3903775176ed-e68910bd-backup.hg | ||||
Pierre-Yves David
|
r25677 | $ cd .. | ||
Test that we only bundle the stripped changesets (issue4736) | ||||
------------------------------------------------------------ | ||||
timeless@mozdev.org
|
r26173 | initialization (previous repo is empty anyway) | ||
Pierre-Yves David
|
r25677 | |||
$ hg init issue4736 | ||||
$ cd issue4736 | ||||
$ echo a > a | ||||
$ hg add a | ||||
$ hg commit -m commitA | ||||
$ echo b > b | ||||
$ hg add b | ||||
$ hg commit -m commitB | ||||
$ echo c > c | ||||
$ hg add c | ||||
$ hg commit -m commitC | ||||
$ hg up 'desc(commitB)' | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo d > d | ||||
$ hg add d | ||||
$ hg commit -m commitD | ||||
created new head | ||||
$ hg up 'desc(commitC)' | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg merge 'desc(commitD)' | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg ci -m 'mergeCD' | ||||
$ hg log -G | ||||
@ changeset: 4:d8db9d137221 | ||||
|\ tag: tip | ||||
| | parent: 2:5c51d8d6557d | ||||
| | parent: 3:6625a5168474 | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: mergeCD | ||||
| | | ||||
| o changeset: 3:6625a5168474 | ||||
| | parent: 1:eca11cf91c71 | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: commitD | ||||
| | | ||||
o | changeset: 2:5c51d8d6557d | ||||
|/ user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: commitC | ||||
| | ||||
o changeset: 1:eca11cf91c71 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: commitB | ||||
| | ||||
o changeset: 0:105141ef12d0 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commitA | ||||
Check bundle behavior: | ||||
$ hg bundle -r 'desc(mergeCD)' --base 'desc(commitC)' ../issue4736.hg | ||||
2 changesets found | ||||
$ hg log -r 'bundle()' -R ../issue4736.hg | ||||
changeset: 3:6625a5168474 | ||||
parent: 1:eca11cf91c71 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commitD | ||||
changeset: 4:d8db9d137221 | ||||
tag: tip | ||||
parent: 2:5c51d8d6557d | ||||
parent: 3:6625a5168474 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: mergeCD | ||||
check strip behavior | ||||
$ hg --config extensions.strip= strip 'desc(commitD)' --debug | ||||
resolving manifests | ||||
branchmerge: False, force: True, partial: False | ||||
ancestor: d8db9d137221+, local: d8db9d137221+, remote: eca11cf91c71 | ||||
c: other deleted -> r | ||||
removing c | ||||
d: other deleted -> r | ||||
removing d | ||||
0 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
2 changesets found | ||||
list of changesets: | ||||
6625a516847449b6f0fa3737b9ba56e9f0f3032c | ||||
d8db9d1372214336d2b5570f20ee468d2c72fa8b | ||||
saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/6625a5168474-345bb43d-backup.hg (glob) | ||||
invalid branchheads cache (served): tip differs | ||||
truncating cache/rbc-revs-v1 to 24 | ||||
$ hg log -G | ||||
o changeset: 2:5c51d8d6557d | ||||
| tag: tip | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: commitC | ||||
| | ||||
@ changeset: 1:eca11cf91c71 | ||||
| user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: commitB | ||||
| | ||||
o changeset: 0:105141ef12d0 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commitA | ||||
strip backup content | ||||
$ hg log -r 'bundle()' -R .hg/strip-backup/6625a5168474-*-backup.hg | ||||
changeset: 3:6625a5168474 | ||||
parent: 1:eca11cf91c71 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commitD | ||||
changeset: 4:d8db9d137221 | ||||
tag: tip | ||||
parent: 2:5c51d8d6557d | ||||
parent: 3:6625a5168474 | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: mergeCD | ||||
Pierre-Yves David
|
r26012 | |||
Error during post-close callback of the strip transaction | ||||
(They should be gracefully handled and reported) | ||||
$ cat > ../crashstrip.py << EOF | ||||
> from mercurial import error | ||||
> def reposetup(ui, repo): | ||||
> class crashstriprepo(repo.__class__): | ||||
> def transaction(self, desc, *args, **kwargs): | ||||
> tr = super(crashstriprepo, self).transaction(self, desc, *args, **kwargs) | ||||
> if desc == 'strip': | ||||
> def crash(tra): raise error.Abort('boom') | ||||
> tr.addpostclose('crash', crash) | ||||
> return tr | ||||
> repo.__class__ = crashstriprepo | ||||
> EOF | ||||
$ hg strip tip --config extensions.crash=$TESTTMP/crashstrip.py | ||||
saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg (glob) | ||||
strip failed, full bundle stored in '$TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg' | ||||
abort: boom | ||||
[255] | ||||