##// END OF EJS Templates
ui: don't fixup [paths] sub-options...
ui: don't fixup [paths] sub-options As part of developing a subsequent patch I discovered that sub-option values like "." were getting converted to paths. This is because the [paths] section is treated specially during config loading. This patch prevents post-processing sub-options from the [paths] section.

File last commit:

r29196:bf7b8157 stable
r29412:b62bce81 default
Show More
test-strip.t
898 lines | 24.4 KiB | text/troff | Tads3Lexer
Pierre-Yves David
test: use generaldelta in 'test-strip.t'...
r26929 $ echo "[format]" >> $HGRCPATH
$ echo "usegeneraldelta=yes" >> $HGRCPATH
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
repair: add experimental option to write bundle2 files...
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
repair._bundle: fix traceback for bad config value...
r23939
Pierre-Yves David
strip: use bundle2 + cg2 by default when repository use general delta...
r26423 $ hg --traceback strip 4
Eric Sumner
repair: add experimental option to write bundle2 files...
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
test: use generaldelta in 'test-strip.t'...
r26929 Stream params: {'Compression': 'BZ'}
changegroup -- "{'version': '02'}"
264128213d290d868c54642d13aeaa3675551a78
Eric Sumner
bundlerepo: basic bundle2 support...
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
strip: rename test-mq-strip into test-strip...
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
Pierre-Yves David
update: warn about other topological heads on bare update...
r28029 1 other heads for branch "default"
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
fncache: clean up fncache during strips...
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
strip: rename test-mq-strip into test-strip...
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
Mads Kiilerich
mq: generate patch names from first line of description...
r26736 d
e
f
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827
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
Mads Kiilerich
mq: generate patch names from first line of description...
r26736 d
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827
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
spelling: random spell checker fixes
r19951 Verify strip protects against stripping wc parent when there are uncommitted mods
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827
$ echo b > b
Matt Mackall
strip: properly clear resolve state with --keep (issue4593)...
r24709 $ echo bb > bar
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827 $ hg add b
$ hg ci -m 'b'
$ hg log --graph
Matt Mackall
strip: properly clear resolve state with --keep (issue4593)...
r24709 @ changeset: 1:76dcf9fab855
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
strip: properly clear resolve state with --keep (issue4593)...
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
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 2 draft
Matt Mackall
strip: properly clear resolve state with --keep (issue4593)...
r24709 mq: 3 unapplied
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
strip: properly clear resolve state with --keep (issue4593)...
r24709 ? bar.orig
$ rm bar.orig
$ hg sum
parent: 0:9ab35a2d17cb tip
a
branch: default
commit: 1 modified, 1 unknown
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 1 draft
Matt Mackall
strip: properly clear resolve state with --keep (issue4593)...
r24709 mq: 3 unapplied
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
Christian Delahousse
strip: add a --keep test related to removing files from dirstate...
r27177 saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827 $ hg status
M b
! bar
? c
? d
Christian Delahousse
strip: add a --keep test related to removing files from dirstate...
r27177
... after updating the dirstate
$ hg add c
$ hg commit -mc
$ hg rm c
$ hg commit -mc
$ hg strip --keep '.^' -q
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827 $ 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
Shubhanshu Agrawal
strip: changing bookmark argument to be a list...
r27030 $ hg debugbuilddag '..<2.*1/2:m<2+3:c<m+3:a<2.:b<m+2:d<2.:e<m+1:f'
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827 $ hg bookmark -r 'a' 'todelete'
$ hg bookmark -r 'b' 'B'
$ hg bookmark -r 'b' 'nostrip'
$ hg bookmark -r 'c' 'delete'
Shubhanshu Agrawal
strip: changing bookmark argument to be a list...
r27030 $ hg bookmark -r 'd' 'multipledelete1'
$ hg bookmark -r 'e' 'multipledelete2'
$ hg bookmark -r 'f' 'singlenode1'
$ hg bookmark -r 'f' 'singlenode2'
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827 $ hg up -C todelete
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Stephen Lee
update: show message when a bookmark is activated by update...
r21503 (activating bookmark todelete)
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
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
strip: remove bookmarks after strip succeed (issue4295)...
r21847 bookmark 'todelete' deleted
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827 $ hg id -ir dcbb326fdec2
abort: unknown revision 'dcbb326fdec2'!
[255]
$ hg id -ir d62d843c9a01
d62d843c9a01
$ hg bookmarks
B 9:ff43616e5d0f
delete 6:2702dd0c91e7
Shubhanshu Agrawal
strip: changing bookmark argument to be a list...
r27030 multipledelete1 11:e46a4836065c
multipledelete2 12:b4594d867745
singlenode1 13:43227190fef8
singlenode2 13:43227190fef8
$ hg strip -B multipledelete1 -B multipledelete2
saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/e46a4836065c-89ec65c2-backup.hg (glob)
bookmark 'multipledelete1' deleted
bookmark 'multipledelete2' deleted
$ hg id -ir e46a4836065c
abort: unknown revision 'e46a4836065c'!
[255]
$ hg id -ir b4594d867745
abort: unknown revision 'b4594d867745'!
[255]
$ hg strip -B singlenode1 -B singlenode2
saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/43227190fef8-8da858f2-backup.hg (glob)
bookmark 'singlenode1' deleted
bookmark 'singlenode2' deleted
$ hg id -ir 43227190fef8
abort: unknown revision '43227190fef8'!
[255]
$ hg strip -B unknownbookmark
abort: bookmark 'unknownbookmark' not found
[255]
$ hg strip -B unknownbookmark1 -B unknownbookmark2
abort: bookmark 'unknownbookmark1,unknownbookmark2' not found
[255]
$ hg strip -B delete -B unknownbookmark
abort: bookmark 'unknownbookmark' not found
[255]
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827 $ hg strip -B delete
David Soria Parra
strip: remove bookmarks after strip succeed (issue4295)...
r21847 saved backup bundle to $TESTTMP/bookmarks/.hg/strip-backup/*-backup.hg (glob)
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827 bookmark 'delete' deleted
$ hg id -ir 6:2702dd0c91e7
abort: unknown revision '2702dd0c91e7'!
[255]
David Soria Parra
strip: remove bookmarks after strip succeed (issue4295)...
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
strip: rename test-mq-strip into test-strip...
r19827
Matt Mackall
strip: drop -b/--backup option (BC)...
r21854 Make sure no one adds back a -b option:
$ hg strip -b tip
hg strip: option -b not recognized
FUJIWARA Katsunori
doc: remove deprecated option from synopsis of command help...
r28288 hg strip [-k] [-f] [-B bookmark] [-r] REV...
Matt Mackall
strip: drop -b/--backup option (BC)...
r21854
strip changesets and all their descendants from the repository
Matt Mackall
help: normalize extension shadow hint
r22112 (use "hg help -e strip" to show help for the strip extension)
Matt Mackall
strip: drop -b/--backup option (BC)...
r21854
Matt Mackall
help: fold repeatable option message into option table header...
r22117 options ([+] can be repeated):
Matt Mackall
strip: drop -b/--backup option (BC)...
r21854
Shubhanshu Agrawal
strip: changing bookmark argument to be a list...
r27030 -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
-k --keep do not modify working directory during strip
-B --bookmark VALUE [+] remove revs only reachable from given bookmark
--mq operate on patch repository
Matt Mackall
strip: drop -b/--backup option (BC)...
r21854
Matt Mackall
help: improve command summary hint...
r22111 (use "hg strip -h" to show more help)
Matt Mackall
strip: drop -b/--backup option (BC)...
r21854 [255]
Durham Goode
bundles: do not overwrite existing backup bundles (BC)...
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
changegroup: properly compute common base in changeggroupsubset (issue4736)...
r25677 $ cd ..
Test that we only bundle the stripped changesets (issue4736)
------------------------------------------------------------
timeless@mozdev.org
test-strip: fix spelling of initialization (en-US)
r26173 initialization (previous repo is empty anyway)
Pierre-Yves David
changegroup: properly compute common base in changeggroupsubset (issue4736)...
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
Matt Harbison
tests: flag Windows specific lines about background closing as optional
r28318 starting 4 threads for background file closing (?)
Pierre-Yves David
changegroup: properly compute common base in changeggroupsubset (issue4736)...
r25677 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
2 changesets found
list of changesets:
6625a516847449b6f0fa3737b9ba56e9f0f3032c
d8db9d1372214336d2b5570f20ee468d2c72fa8b
Pierre-Yves David
test: use generaldelta in 'test-strip.t'...
r26929 bundle2-output-bundle: "HG20", (1 params) 1 parts total
bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
Pierre-Yves David
changegroup: properly compute common base in changeggroupsubset (issue4736)...
r25677 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
Laurent Charignon
strip: invalidate phase cache after stripping changeset (issue5235)...
r29196 Check that the phase cache is properly invalidated after a strip with bookmark.
$ cat > ../stripstalephasecache.py << EOF
> from mercurial import extensions, localrepo
> def transactioncallback(orig, repo, desc, *args, **kwargs):
> def test(transaction):
> # observe cache inconsistency
> try:
> [repo.changelog.node(r) for r in repo.revs("not public()")]
> except IndexError:
> repo.ui.status("Index error!\n")
> transaction = orig(repo, desc, *args, **kwargs)
> # warm up the phase cache
> list(repo.revs("not public()"))
> if desc != 'strip':
> transaction.addpostclose("phase invalidation test", test)
> return transaction
> def extsetup(ui):
> extensions.wrapfunction(localrepo.localrepository, "transaction",
> transactioncallback)
> EOF
$ hg up -C 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo k > k
$ hg add k
$ hg commit -m commitK
$ echo l > l
$ hg add l
$ hg commit -m commitL
$ hg book -r tip blah
$ hg strip ".^" --config extensions.crash=$TESTTMP/stripstalephasecache.py
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/8f0b4384875c-4fa10deb-backup.hg (glob)
$ hg up -C 1
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Pierre-Yves David
strip: use the 'finally: tr.release' pattern during stripping...
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)
Matt Harbison
test-strip: add glob for Windows
r26429 strip failed, full bundle stored in '$TESTTMP/issue4736/.hg/strip-backup/5c51d8d6557d-70daef06-backup.hg' (glob)
Pierre-Yves David
strip: use the 'finally: tr.release' pattern during stripping...
r26012 abort: boom
[255]