##// END OF EJS Templates
hghave: fix dpkg --version check to work on recent dpkg versions...
hghave: fix dpkg --version check to work on recent dpkg versions Differential Revision: https://phab.mercurial-scm.org/D869

File last commit:

r34287:ecc96506 default
r34395:dbf83230 default
Show More
test-strip.t
1122 lines | 32.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
Jun Wu
strip: add a delayedstrip method that works in a transaction...
r33087 $ echo "drawdag=$TESTDIR/drawdag.py" >> $HGRCPATH
Pierre-Yves David
strip: rename test-mq-strip into test-strip...
r19827
$ 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/*
Augie Fackler
debugcommands: stabilize output of debugbundle by having a custom repr...
r34027 Stream params: {Compression: BZ}
changegroup -- {nbchanges: 1, version: 02}
Pierre-Yves David
test: use generaldelta in 'test-strip.t'...
r26929 264128213d290d868c54642d13aeaa3675551a78
Augie Fackler
debugcommands: stabilize output of debugbundle by having a custom repr...
r34027 phase-heads -- {}
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 264128213d290d868c54642d13aeaa3675551a78 draft
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
Pulkit Goyal
update: show the commit to which we updated in case of multiple heads (BC)...
r32698 updated to "264128213d29: c"
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
Martin von Zweigbergk
strip: report both bundle files in case of exception (issue5368)...
r29952 Failed hook while applying "saveheads" bundle.
$ hg strip 2 --config hooks.pretxnchangegroup.bad=false
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
transaction abort!
rollback completed
Martin von Zweigbergk
strip: don't use "full" and "partial" to describe bundles...
r29954 strip failed, backup bundle stored in '$TESTTMP/test/.hg/strip-backup/*-backup.hg' (glob)
Martin von Zweigbergk
strip: clarify that user action is required to recover temp bundle...
r29953 strip failed, unrecovered changes stored in '$TESTTMP/test/.hg/strip-backup/*-temp.hg' (glob)
(fix the problem, then recover the changesets with "hg unbundle '$TESTTMP/test/.hg/strip-backup/*-temp.hg'") (glob)
Martin von Zweigbergk
strip: report both bundle files in case of exception (issue5368)...
r29952 abort: pretxnchangegroup.bad hook exited with status 1
[255]
$ restore
$ hg log -G
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
|
| o 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
|
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
2 different branches: 2 strips
$ hg strip 2 4
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
timeless
help: use single quotes in use warning
r29974 (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)
Pierre-Yves David
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now...
r30152 -f --force force removal of changesets, discard uncommitted
Shubhanshu Agrawal
strip: changing bookmark argument to be a list...
r27030 changes (no backup)
Pierre-Yves David
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now...
r30152 --no-backup no backups
-k --keep do not modify working directory during strip
Shubhanshu Agrawal
strip: changing bookmark argument to be a list...
r27030 -B --bookmark VALUE [+] remove revs only reachable from given bookmark
Pierre-Yves David
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now...
r30152 --mq operate on patch repository
Matt Mackall
strip: drop -b/--backup option (BC)...
r21854
timeless
help: use single quotes in use warning
r29974 (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
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 bundle2-output-bundle: "HG20", (1 params) 2 parts total
Gregory Szorc
bundle2: store changeset count when creating file bundles...
r29593 bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
Martin von Zweigbergk
strip: include phases in bundle (BC)...
r33032 bundle2-output-part: "phase-heads" 24 bytes 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)
Pierre-Yves David
caches: move the 'updating the branch cache' message in 'updatecaches'...
r32267 updating the branch cache
Pierre-Yves David
changegroup: properly compute common base in changeggroupsubset (issue4736)...
r25677 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):
Boris Feld
test-strip: fix call to super class in crashstriprepo...
r33540 > tr = super(crashstriprepo, self).transaction(desc, *args, **kwargs)
Pierre-Yves David
strip: use the 'finally: tr.release' pattern during stripping...
r26012 > 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)
Martin von Zweigbergk
strip: don't use "full" and "partial" to describe bundles...
r29954 strip failed, backup 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]
Jun Wu
strip: add a delayedstrip method that works in a transaction...
r33087 Use delayedstrip to strip inside a transaction
Pierre-Yves David
strip: use the 'finally: tr.release' pattern during stripping...
r26012
Jun Wu
strip: add a delayedstrip method that works in a transaction...
r33087 $ cd $TESTTMP
$ hg init delayedstrip
$ cd delayedstrip
$ hg debugdrawdag <<'EOS'
> D
> |
> C F H # Commit on top of "I",
> | |/| # Strip B+D+I+E+G+H+Z
> I B E G
> \|/
> A Z
> EOS
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 $ cp -R . ../scmutilcleanup
Jun Wu
strip: add a delayedstrip method that works in a transaction...
r33087
$ hg up -C I
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo 3 >> I
$ cat > $TESTTMP/delayedstrip.py <<EOF
Augie Fackler
tests: update test-strip to pass our import checker
r33989 > from __future__ import absolute_import
> from mercurial import commands, repair
Jun Wu
strip: add a delayedstrip method that works in a transaction...
r33087 > def reposetup(ui, repo):
> def getnodes(expr):
> return [repo.changelog.node(r) for r in repo.revs(expr)]
> with repo.wlock():
> with repo.lock():
> with repo.transaction('delayedstrip'):
> repair.delayedstrip(ui, repo, getnodes('B+I+Z+D+E'), 'J')
> repair.delayedstrip(ui, repo, getnodes('G+H+Z'), 'I')
> commands.commit(ui, repo, message='J', date='0 0')
> EOF
$ hg log -r . -T '\n' --config extensions.t=$TESTTMP/delayedstrip.py
warning: orphaned descendants detected, not stripping 08ebfeb61bac, 112478962961, 7fb047a69f22
Martin von Zweigbergk
drawdag: include files from both parents in merge commits...
r33558 saved backup bundle to $TESTTMP/delayedstrip/.hg/strip-backup/f585351a92f8-17475721-I.hg (glob)
Jun Wu
strip: add a delayedstrip method that works in a transaction...
r33087
$ hg log -G -T '{rev}:{node|short} {desc}' -r 'sort(all(), topo)'
@ 6:2f2d51af6205 J
|
o 3:08ebfeb61bac I
|
| o 5:64a8289d2492 F
| |
| o 2:7fb047a69f22 E
|/
| o 4:26805aba1e60 C
| |
| o 1:112478962961 B
|/
o 0:426bada5c675 A
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 Test high-level scmutil.cleanupnodes API
$ cd $TESTTMP/scmutilcleanup
$ hg debugdrawdag <<'EOS'
> D2 F2 G2 # D2, F2, G2 are replacements for D, F, G
> | | |
> C H G
> EOS
$ for i in B C D F G I Z; do
> hg bookmark -i -r $i b-$i
> done
Jun Wu
scmutil: make cleanupnodes delete divergent bookmarks...
r33331 $ hg bookmark -i -r E 'b-F@divergent1'
$ hg bookmark -i -r H 'b-F@divergent2'
$ hg bookmark -i -r G 'b-F@divergent3'
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 $ cp -R . ../scmutilcleanup.obsstore
$ cat > $TESTTMP/scmutilcleanup.py <<EOF
> from mercurial import scmutil
> def reposetup(ui, repo):
> def nodes(expr):
> return [repo.changelog.node(r) for r in repo.revs(expr)]
> def node(expr):
> return nodes(expr)[0]
> with repo.wlock():
> with repo.lock():
> with repo.transaction('delayedstrip'):
> mapping = {node('F'): [node('F2')],
> node('D'): [node('D2')],
> node('G'): [node('G2')]}
> scmutil.cleanupnodes(repo, mapping, 'replace')
> scmutil.cleanupnodes(repo, nodes('((B::)+I+Z)-D2'), 'replace')
> EOF
$ hg log -r . -T '\n' --config extensions.t=$TESTTMP/scmutilcleanup.py
warning: orphaned descendants detected, not stripping 112478962961, 1fc8102cda62, 26805aba1e60
saved backup bundle to $TESTTMP/scmutilcleanup/.hg/strip-backup/f585351a92f8-73fb7c03-replace.hg (glob)
$ hg log -G -T '{rev}:{node|short} {desc} {bookmarks}' -r 'sort(all(), topo)'
Jun Wu
scmutil: make cleanupnodes delete divergent bookmarks...
r33331 o 8:1473d4b996d1 G2 b-F@divergent3 b-G
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 |
Martin von Zweigbergk
drawdag: include files from both parents in merge commits...
r33558 | o 7:d11b3456a873 F2 b-F
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 | |
Martin von Zweigbergk
drawdag: include files from both parents in merge commits...
r33558 | o 5:5cb05ba470a7 H
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 |/|
Jun Wu
scmutil: make cleanupnodes delete divergent bookmarks...
r33331 | o 3:7fb047a69f22 E b-F@divergent1
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 | |
| | o 6:7c78f703e465 D2 b-D
| | |
| | o 4:26805aba1e60 C
| | |
| | o 2:112478962961 B
| |/
o | 1:1fc8102cda62 G
/
o 0:426bada5c675 A b-B b-C b-I
$ hg bookmark
b-B 0:426bada5c675
b-C 0:426bada5c675
b-D 6:7c78f703e465
Martin von Zweigbergk
drawdag: include files from both parents in merge commits...
r33558 b-F 7:d11b3456a873
Jun Wu
scmutil: make cleanupnodes delete divergent bookmarks...
r33331 b-F@divergent1 3:7fb047a69f22
b-F@divergent3 8:1473d4b996d1
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 b-G 8:1473d4b996d1
b-I 0:426bada5c675
b-Z -1:000000000000
Test the above using obsstore "by the way". Not directly related to strip, but
we have reusable code here
$ cd $TESTTMP/scmutilcleanup.obsstore
$ cat >> .hg/hgrc <<EOF
> [experimental]
Boris Feld
test: update evolution config...
r33768 > stabilization=all
> stabilization.track-operation=1
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 > EOF
$ hg log -r . -T '\n' --config extensions.t=$TESTTMP/scmutilcleanup.py
$ rm .hg/localtags
$ hg log -G -T '{rev}:{node|short} {desc} {bookmarks}' -r 'sort(all(), topo)'
Jun Wu
scmutil: make cleanupnodes delete divergent bookmarks...
r33331 o 12:1473d4b996d1 G2 b-F@divergent3 b-G
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 |
Martin von Zweigbergk
drawdag: include files from both parents in merge commits...
r33558 | o 11:d11b3456a873 F2 b-F
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 | |
Martin von Zweigbergk
drawdag: include files from both parents in merge commits...
r33558 | o 8:5cb05ba470a7 H
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 |/|
Jun Wu
scmutil: make cleanupnodes delete divergent bookmarks...
r33331 | o 4:7fb047a69f22 E b-F@divergent1
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 | |
| | o 10:7c78f703e465 D2 b-D
| | |
| | x 6:26805aba1e60 C
| | |
| | x 3:112478962961 B
| |/
x | 1:1fc8102cda62 G
/
o 0:426bada5c675 A b-B b-C b-I
$ hg debugobsolete
1fc8102cda6204549f031015641606ccf5513ec3 1473d4b996d1d1b121de6b39fab6a04fbf9d873e 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'}
Martin von Zweigbergk
drawdag: include files from both parents in merge commits...
r33558 64a8289d249234b9886244d379f15e6b650b28e3 d11b3456a873daec7c7bc53e5622e8df6d741bd2 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'}
Jun Wu
scmutil: add a cleanupnodes method for developers...
r33088 f585351a92f85104bff7c284233c338b10eb1df7 7c78f703e465d73102cc8780667ce269c5208a40 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'}
48b9aae0607f43ff110d84e6883c151942add5ab 0 {0000000000000000000000000000000000000000} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'}
112478962961147124edd43549aedd1a335e44bf 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'}
08ebfeb61bac6e3f12079de774d285a0d6689eba 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'}
26805aba1e600a82e93661149f2313866a221a7b 0 {112478962961147124edd43549aedd1a335e44bf} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'}
Martin von Zweigbergk
tests: add test for issue5678...
r34178 $ cd ..
Test that obsmarkers are restored even when not using generaldelta
$ hg --config format.usegeneraldelta=no init issue5678
$ cd issue5678
$ cat >> .hg/hgrc <<EOF
> [experimental]
> evolution=all
> EOF
$ echo a > a
$ hg ci -Aqm a
$ hg ci --amend -m a2
$ hg debugobsolete
Martin von Zweigbergk
obsmarker: track operation by default...
r34287 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 489bac576828490c0bb8d45eac9e5e172e4ec0a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
Martin von Zweigbergk
tests: add test for issue5678...
r34178 $ hg strip .
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/issue5678/.hg/strip-backup/489bac576828-bef27e14-backup.hg (glob)
$ hg unbundle -q .hg/strip-backup/*
$ hg debugobsolete
Martin von Zweigbergk
obsmarker: track operation by default...
r34287 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 489bac576828490c0bb8d45eac9e5e172e4ec0a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
Martin von Zweigbergk
tests: add test for issue5678...
r34178 $ cd ..