Working my down the long tail of test failures due to the simple
store.
We're now down to 38 failures with the simple store.
( )
durin42 |
hg-reviewers |
Working my down the long tail of test failures due to the simple
store.
We're now down to 38 failures with the simple store.
Automatic diff as part of commit; lint not applicable. |
Automatic diff as part of commit; unit tests not applicable. |
Path | Packages | |||
---|---|---|---|---|
M | tests/test-contrib-perf.t (2 lines) | |||
M | tests/test-convert-hg-source.t (3 lines) | |||
M | tests/test-debugcommands.t (9 lines) | |||
M | tests/test-http.t (2 lines) | |||
M | tests/test-inherit-mode.t (20 lines) | |||
M | tests/test-narrow-exchange.t (3 lines) | |||
M | tests/test-narrow-patterns.t (8 lines) | |||
M | tests/test-narrow-strip.t (2 lines) | |||
M | tests/test-obsolete.t (2 lines) | |||
M | tests/test-permissions.t (2 lines) | |||
M | tests/test-phases-exchange.t (2 lines) | |||
M | tests/test-strip.t (8 lines) | |||
M | tests/test-subrepo-deep-nested-change.t (24 lines) |
Status | Author | Revision | |
---|---|---|---|
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Abandoned | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg | ||
Closed | indygreg |
$ hg perfctxfiles 2 | $ hg perfctxfiles 2 | ||||
$ hg perfdiffwd | $ hg perfdiffwd | ||||
$ hg perfdirfoldmap | $ hg perfdirfoldmap | ||||
$ hg perfdirs | $ hg perfdirs | ||||
$ hg perfdirstate | $ hg perfdirstate | ||||
$ hg perfdirstatedirs | $ hg perfdirstatedirs | ||||
$ hg perfdirstatefoldmap | $ hg perfdirstatefoldmap | ||||
$ hg perfdirstatewrite | $ hg perfdirstatewrite | ||||
#if repofncache | |||||
$ hg perffncacheencode | $ hg perffncacheencode | ||||
$ hg perffncacheload | $ hg perffncacheload | ||||
$ hg perffncachewrite | $ hg perffncachewrite | ||||
#endif | |||||
$ hg perfheads | $ hg perfheads | ||||
$ hg perfindex | $ hg perfindex | ||||
$ hg perfloadmarkers | $ hg perfloadmarkers | ||||
$ hg perflog | $ hg perflog | ||||
$ hg perflookup 2 | $ hg perflookup 2 | ||||
$ hg perflrucache | $ hg perflrucache | ||||
$ hg perfmanifest 2 | $ hg perfmanifest 2 | ||||
$ hg perfmergecalculate -r 3 | $ hg perfmergecalculate -r 3 |
#endif | #endif | ||||
$ cd .. | $ cd .. | ||||
$ hg --config convert.hg.ignoreerrors=True convert broken fixed | $ hg --config convert.hg.ignoreerrors=True convert broken fixed | ||||
initializing destination fixed repository | initializing destination fixed repository | ||||
scanning source... | scanning source... | ||||
sorting... | sorting... | ||||
converting... | converting... | ||||
4 init | 4 init | ||||
ignoring: data/b.i@1e88685f5dde: no match found | ignoring: data/b.i@1e88685f5dde: no match found (reporevlogstore !) | ||||
ignoring: data/b/index@1e88685f5dde: no node (reposimplestore !) | |||||
3 changeall | 3 changeall | ||||
2 changebagain | 2 changebagain | ||||
1 merge | 1 merge | ||||
0 moveb | 0 moveb | ||||
$ hg -R fixed verify | $ hg -R fixed verify | ||||
checking changesets | checking changesets | ||||
checking manifests | checking manifests | ||||
crosschecking files in changesets and manifests | crosschecking files in changesets and manifests |
$ cat << EOF >> $HGRCPATH | $ cat << EOF >> $HGRCPATH | ||||
> [ui] | > [ui] | ||||
> interactive=yes | > interactive=yes | ||||
> EOF | > EOF | ||||
$ hg init debugrevlog | $ hg init debugrevlog | ||||
$ cd debugrevlog | $ cd debugrevlog | ||||
$ echo a > a | $ echo a > a | ||||
$ hg ci -Am adda | $ hg ci -Am adda | ||||
adding a | adding a | ||||
#if reporevlogstore | |||||
$ hg debugrevlog -m | $ hg debugrevlog -m | ||||
format : 1 | format : 1 | ||||
flags : inline, generaldelta | flags : inline, generaldelta | ||||
revisions : 1 | revisions : 1 | ||||
merges : 0 ( 0.00%) | merges : 0 ( 0.00%) | ||||
normal : 1 (100.00%) | normal : 1 (100.00%) | ||||
revisions : 1 | revisions : 1 | ||||
avg chain length : 0 | avg chain length : 0 | ||||
max chain length : 0 | max chain length : 0 | ||||
max chain reach : 44 | max chain reach : 44 | ||||
compression ratio : 0 | compression ratio : 0 | ||||
uncompressed data size (min/max/avg) : 43 / 43 / 43 | uncompressed data size (min/max/avg) : 43 / 43 / 43 | ||||
full revision size (min/max/avg) : 44 / 44 / 44 | full revision size (min/max/avg) : 44 / 44 / 44 | ||||
delta size (min/max/avg) : 0 / 0 / 0 | delta size (min/max/avg) : 0 / 0 / 0 | ||||
#endif | |||||
Test debugindex, with and without the --verbose/--debug flag | Test debugindex, with and without the --verbose/--debug flag | ||||
$ hg debugindex a | $ hg debugindex a | ||||
rev linkrev nodeid p1 p2 | rev linkrev nodeid p1 p2 | ||||
0 0 b789fdd96dc2 000000000000 000000000000 | 0 0 b789fdd96dc2 000000000000 000000000000 | ||||
#if no-reposimplestore | |||||
$ hg --verbose debugindex a | $ hg --verbose debugindex a | ||||
rev offset length linkrev nodeid p1 p2 | rev offset length linkrev nodeid p1 p2 | ||||
0 0 3 0 b789fdd96dc2 000000000000 000000000000 | 0 0 3 0 b789fdd96dc2 000000000000 000000000000 | ||||
$ hg --debug debugindex a | $ hg --debug debugindex a | ||||
rev offset length linkrev nodeid p1 p2 | rev offset length linkrev nodeid p1 p2 | ||||
0 0 3 0 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 | 0 0 3 0 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 | ||||
#endif | |||||
$ hg debugindex -f 1 a | $ hg debugindex -f 1 a | ||||
rev flag size link p1 p2 nodeid | rev flag size link p1 p2 nodeid | ||||
0 0000 2 0 -1 -1 b789fdd96dc2 | 0 0000 2 0 -1 -1 b789fdd96dc2 | ||||
#if no-reposimplestore | |||||
$ hg --verbose debugindex -f 1 a | $ hg --verbose debugindex -f 1 a | ||||
rev flag offset length size link p1 p2 nodeid | rev flag offset length size link p1 p2 nodeid | ||||
0 0000 0 3 2 0 -1 -1 b789fdd96dc2 | 0 0000 0 3 2 0 -1 -1 b789fdd96dc2 | ||||
$ hg --debug debugindex -f 1 a | $ hg --debug debugindex -f 1 a | ||||
rev flag offset length size link p1 p2 nodeid | rev flag offset length size link p1 p2 nodeid | ||||
0 0000 0 3 2 0 -1 -1 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 | 0 0000 0 3 2 0 -1 -1 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 | ||||
#endif | |||||
debugdelta chain basic output | debugdelta chain basic output | ||||
#if reporevlogstore | |||||
$ hg debugdeltachain -m | $ hg debugdeltachain -m | ||||
rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio | rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio | ||||
0 1 1 -1 base 44 43 44 1.02326 44 0 0.00000 | 0 1 1 -1 base 44 43 44 1.02326 44 0 0.00000 | ||||
$ hg debugdeltachain -m -T '{rev} {chainid} {chainlen}\n' | $ hg debugdeltachain -m -T '{rev} {chainid} {chainlen}\n' | ||||
0 1 1 | 0 1 1 | ||||
$ hg debugdeltachain -m -Tjson | $ hg debugdeltachain -m -Tjson | ||||
$ printf "e\n" >> a | $ printf "e\n" >> a | ||||
$ hg ci -m a | $ hg ci -m a | ||||
$ printf "f\n" >> a | $ printf "f\n" >> a | ||||
$ hg ci -m a | $ hg ci -m a | ||||
$ printf 'g\n' >> a | $ printf 'g\n' >> a | ||||
$ hg ci -m a | $ hg ci -m a | ||||
$ printf 'h\n' >> a | $ printf 'h\n' >> a | ||||
$ hg ci -m a | $ hg ci -m a | ||||
$ hg debugrevlog -d a | $ hg debugrevlog -d a | ||||
# rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen | # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen | ||||
0 -1 -1 0 ??? 0 0 0 0 ??? ???? ? 1 0 (glob) | 0 -1 -1 0 ??? 0 0 0 0 ??? ???? ? 1 0 (glob) | ||||
1 0 -1 ??? ??? 0 0 0 0 ??? ???? ? 1 1 (glob) | 1 0 -1 ??? ??? 0 0 0 0 ??? ???? ? 1 1 (glob) | ||||
2 1 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob) | 2 1 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob) | ||||
3 2 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob) | 3 2 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob) | ||||
4 3 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 4 (glob) | 4 3 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 4 (glob) | ||||
5 4 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 0 (glob) | 5 4 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 0 (glob) | ||||
6 5 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 1 (glob) | 6 5 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 1 (glob) | ||||
7 6 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob) | 7 6 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 2 (glob) | ||||
8 7 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob) | 8 7 -1 ??? ??? ??? ??? ??? 0 ??? ???? ? 1 3 (glob) | ||||
#endif | |||||
Test debuglocks command: | Test debuglocks command: | ||||
$ hg debuglocks | $ hg debuglocks | ||||
lock: free | lock: free | ||||
wlock: free | wlock: free | ||||
* Test setting the lock | * Test setting the lock |
$ cat hg4.pid >> $DAEMON_PIDS | $ cat hg4.pid >> $DAEMON_PIDS | ||||
$ hg clone http://localhost:$HGPORT1/ disable-pull-clone | $ hg clone http://localhost:$HGPORT1/ disable-pull-clone | ||||
requesting all changes | requesting all changes | ||||
remote: abort: server has pull-based clones disabled | remote: abort: server has pull-based clones disabled | ||||
abort: pull failed on remote | abort: pull failed on remote | ||||
(remove --pull if specified or upgrade Mercurial) | (remove --pull if specified or upgrade Mercurial) | ||||
[255] | [255] | ||||
#if no-reposimplestore | |||||
... but keep stream clones working | ... but keep stream clones working | ||||
$ hg clone --stream --noupdate http://localhost:$HGPORT1/ test-stream-clone | $ hg clone --stream --noupdate http://localhost:$HGPORT1/ test-stream-clone | ||||
streaming all changes | streaming all changes | ||||
* files to transfer, * of data (glob) | * files to transfer, * of data (glob) | ||||
transferred * in * seconds (*/sec) (glob) | transferred * in * seconds (*/sec) (glob) | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
$ cat error.log | $ cat error.log | ||||
#endif | |||||
... and also keep partial clones and pulls working | ... and also keep partial clones and pulls working | ||||
$ hg clone http://localhost:$HGPORT1 --rev 0 test-partial-clone | $ hg clone http://localhost:$HGPORT1 --rev 0 test-partial-clone | ||||
adding changesets | adding changesets | ||||
adding manifests | adding manifests | ||||
adding file changes | adding file changes | ||||
added 1 changesets with 4 changes to 4 files | added 1 changesets with 4 changes to 4 files | ||||
new changesets 8b6053c928fe | new changesets 8b6053c928fe |
00660 ./.hg/fsmonitor.state (fsmonitor !) | 00660 ./.hg/fsmonitor.state (fsmonitor !) | ||||
00660 ./.hg/last-message.txt | 00660 ./.hg/last-message.txt | ||||
00600 ./.hg/requires | 00600 ./.hg/requires | ||||
00770 ./.hg/store/ | 00770 ./.hg/store/ | ||||
00660 ./.hg/store/00changelog.i | 00660 ./.hg/store/00changelog.i | ||||
00660 ./.hg/store/00manifest.i | 00660 ./.hg/store/00manifest.i | ||||
00770 ./.hg/store/data/ | 00770 ./.hg/store/data/ | ||||
00770 ./.hg/store/data/dir/ | 00770 ./.hg/store/data/dir/ | ||||
00660 ./.hg/store/data/dir/bar.i | 00660 ./.hg/store/data/dir/bar.i (reporevlogstore !) | ||||
00660 ./.hg/store/data/foo.i | 00660 ./.hg/store/data/foo.i (reporevlogstore !) | ||||
00770 ./.hg/store/data/dir/bar/ (reposimplestore !) | |||||
00660 ./.hg/store/data/dir/bar/b80de5d138758541c5f05265ad144ab9fa86d1db (reposimplestore !) | |||||
00660 ./.hg/store/data/dir/bar/index (reposimplestore !) | |||||
00770 ./.hg/store/data/foo/ (reposimplestore !) | |||||
00660 ./.hg/store/data/foo/b80de5d138758541c5f05265ad144ab9fa86d1db (reposimplestore !) | |||||
00660 ./.hg/store/data/foo/index (reposimplestore !) | |||||
00660 ./.hg/store/fncache (repofncache !) | 00660 ./.hg/store/fncache (repofncache !) | ||||
00660 ./.hg/store/phaseroots | 00660 ./.hg/store/phaseroots | ||||
00660 ./.hg/store/undo | 00660 ./.hg/store/undo | ||||
00660 ./.hg/store/undo.backupfiles | 00660 ./.hg/store/undo.backupfiles | ||||
00660 ./.hg/store/undo.phaseroots | 00660 ./.hg/store/undo.phaseroots | ||||
00660 ./.hg/undo.backup.dirstate | 00660 ./.hg/undo.backup.dirstate | ||||
00660 ./.hg/undo.bookmarks | 00660 ./.hg/undo.bookmarks | ||||
00660 ./.hg/undo.branch | 00660 ./.hg/undo.branch | ||||
00660 ../push/.hg/cache/branch2-base | 00660 ../push/.hg/cache/branch2-base | ||||
00660 ../push/.hg/dirstate | 00660 ../push/.hg/dirstate | ||||
00660 ../push/.hg/requires | 00660 ../push/.hg/requires | ||||
00770 ../push/.hg/store/ | 00770 ../push/.hg/store/ | ||||
00660 ../push/.hg/store/00changelog.i | 00660 ../push/.hg/store/00changelog.i | ||||
00660 ../push/.hg/store/00manifest.i | 00660 ../push/.hg/store/00manifest.i | ||||
00770 ../push/.hg/store/data/ | 00770 ../push/.hg/store/data/ | ||||
00770 ../push/.hg/store/data/dir/ | 00770 ../push/.hg/store/data/dir/ | ||||
00660 ../push/.hg/store/data/dir/bar.i | 00660 ../push/.hg/store/data/dir/bar.i (reporevlogstore !) | ||||
00660 ../push/.hg/store/data/foo.i | 00660 ../push/.hg/store/data/foo.i (reporevlogstore !) | ||||
00770 ../push/.hg/store/data/dir/bar/ (reposimplestore !) | |||||
00660 ../push/.hg/store/data/dir/bar/b80de5d138758541c5f05265ad144ab9fa86d1db (reposimplestore !) | |||||
00660 ../push/.hg/store/data/dir/bar/index (reposimplestore !) | |||||
00770 ../push/.hg/store/data/foo/ (reposimplestore !) | |||||
00660 ../push/.hg/store/data/foo/b80de5d138758541c5f05265ad144ab9fa86d1db (reposimplestore !) | |||||
00660 ../push/.hg/store/data/foo/index (reposimplestore !) | |||||
00660 ../push/.hg/store/fncache (repofncache !) | 00660 ../push/.hg/store/fncache (repofncache !) | ||||
00660 ../push/.hg/store/undo | 00660 ../push/.hg/store/undo | ||||
00660 ../push/.hg/store/undo.backupfiles | 00660 ../push/.hg/store/undo.backupfiles | ||||
00660 ../push/.hg/store/undo.phaseroots | 00660 ../push/.hg/store/undo.phaseroots | ||||
00660 ../push/.hg/undo.bookmarks | 00660 ../push/.hg/undo.bookmarks | ||||
00660 ../push/.hg/undo.branch | 00660 ../push/.hg/undo.branch | ||||
00660 ../push/.hg/undo.desc | 00660 ../push/.hg/undo.desc | ||||
00660 ../push/.hg/undo.dirstate | 00660 ../push/.hg/undo.dirstate |
$ hg push ssh://user@dummy/narrow | $ hg push ssh://user@dummy/narrow | ||||
pushing to ssh://user@dummy/narrow | pushing to ssh://user@dummy/narrow | ||||
searching for changes | searching for changes | ||||
remote: adding changesets | remote: adding changesets | ||||
remote: adding manifests | remote: adding manifests | ||||
remote: adding file changes | remote: adding file changes | ||||
remote: transaction abort! | remote: transaction abort! | ||||
remote: rollback completed | remote: rollback completed | ||||
remote: abort: data/inside2/f.i@4a1aa07735e6: unknown parent! | remote: abort: data/inside2/f.i@4a1aa07735e6: unknown parent! (reporevlogstore !) | ||||
remote: abort: data/inside2/f/index@4a1aa07735e6: no node! (reposimplestore !) | |||||
abort: stream ended unexpectedly (got 0 bytes, expected 4) | abort: stream ended unexpectedly (got 0 bytes, expected 4) | ||||
[255] | [255] | ||||
Can pull from wider repo if change affects only paths outside remote's | Can pull from wider repo if change affects only paths outside remote's | ||||
narrow spec | narrow spec | ||||
$ echo 4 > inside2/f | $ echo 4 > inside2/f | ||||
$ hg ci -m 'inside2 4' | $ hg ci -m 'inside2 4' | ||||
$ hg log -G -T '{rev} {node|short} {files}\n' | $ hg log -G -T '{rev} {node|short} {files}\n' |
widen narrow spec again, but exclude a file in previously included spec | widen narrow spec again, but exclude a file in previously included spec | ||||
$ hg tracked --removeexclude dir2/dirB --addexclude dir1/dirA/bar | $ hg tracked --removeexclude dir2/dirB --addexclude dir1/dirA/bar | ||||
comparing with ssh://user@dummy/master | comparing with ssh://user@dummy/master | ||||
searching for changes | searching for changes | ||||
looking for local changes to affected paths | looking for local changes to affected paths | ||||
deleting data/dir1/dirA/bar.i | deleting data/dir1/dirA/bar.i (reporevlogstore !) | ||||
deleting data/dir1/dirA/bar/0eca1d0cbdaea4651d1d04d71976a6d2d9bfaae5 (reposimplestore !) | |||||
deleting data/dir1/dirA/bar/index (reposimplestore !) | |||||
no changes found | no changes found | ||||
saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-widen.hg (glob) | saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-widen.hg (glob) | ||||
adding changesets | adding changesets | ||||
adding manifests | adding manifests | ||||
adding file changes | adding file changes | ||||
added 11 changesets with 7 changes to 7 files | added 11 changesets with 7 changes to 7 files | ||||
new changesets *:* (glob) | new changesets *:* (glob) | ||||
$ cat .hg/narrowspec | $ cat .hg/narrowspec | ||||
widen narrow spec yet again, excluding a directory in previous spec | widen narrow spec yet again, excluding a directory in previous spec | ||||
$ hg tracked --removeexclude dir2/dirA --addexclude dir1/dirA | $ hg tracked --removeexclude dir2/dirA --addexclude dir1/dirA | ||||
comparing with ssh://user@dummy/master | comparing with ssh://user@dummy/master | ||||
searching for changes | searching for changes | ||||
looking for local changes to affected paths | looking for local changes to affected paths | ||||
deleting data/dir1/dirA/foo.i | deleting data/dir1/dirA/foo.i (reporevlogstore !) | ||||
deleting data/dir1/dirA/foo/162caeb3d55dceb1fee793aa631ac8c73fcb8b5e (reposimplestore !) | |||||
deleting data/dir1/dirA/foo/index (reposimplestore !) | |||||
no changes found | no changes found | ||||
saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-widen.hg (glob) | saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-widen.hg (glob) | ||||
adding changesets | adding changesets | ||||
adding manifests | adding manifests | ||||
adding file changes | adding file changes | ||||
added 13 changesets with 8 changes to 8 files | added 13 changesets with 8 changes to 8 files | ||||
new changesets *:* (glob) | new changesets *:* (glob) | ||||
$ cat .hg/narrowspec | $ cat .hg/narrowspec |
Also verify we can apply the bundle with 'hg pull': | Also verify we can apply the bundle with 'hg pull': | ||||
$ hg co -r 'desc("modify inside")' | $ hg co -r 'desc("modify inside")' | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ rm .hg/strip-backup/*-backup.hg | $ rm .hg/strip-backup/*-backup.hg | ||||
$ hg strip . | $ hg strip . | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob) | saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob) | ||||
#if repobundlerepo | |||||
$ hg pull .hg/strip-backup/*-backup.hg | $ hg pull .hg/strip-backup/*-backup.hg | ||||
pulling from .hg/strip-backup/*-backup.hg (glob) | pulling from .hg/strip-backup/*-backup.hg (glob) | ||||
searching for changes | searching for changes | ||||
adding changesets | adding changesets | ||||
adding manifests | adding manifests | ||||
adding file changes | adding file changes | ||||
added 1 changesets with 1 changes to 1 files (+1 heads) | added 1 changesets with 1 changes to 1 files (+1 heads) | ||||
new changesets * (glob) | new changesets * (glob) | ||||
(run 'hg heads' to see heads, 'hg merge' to merge) | (run 'hg heads' to see heads, 'hg merge' to merge) | ||||
$ rm .hg/strip-backup/*-backup.hg | $ rm .hg/strip-backup/*-backup.hg | ||||
$ hg strip 0 | $ hg strip 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob) | saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob) | ||||
#if repobundlerepo | |||||
$ hg incoming .hg/strip-backup/*-backup.hg | $ hg incoming .hg/strip-backup/*-backup.hg | ||||
comparing with .hg/strip-backup/*-backup.hg (glob) | comparing with .hg/strip-backup/*-backup.hg (glob) | ||||
changeset: 0:* (glob) | changeset: 0:* (glob) | ||||
user: test | user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: initial | summary: initial | ||||
changeset: 1:9e48d953700d (flat !) | changeset: 1:9e48d953700d (flat !) |
$ hg debugbundle .hg/strip-backup/e008cf283490-*-backup.hg | $ hg debugbundle .hg/strip-backup/e008cf283490-*-backup.hg | ||||
Stream params: {Compression: BZ} | Stream params: {Compression: BZ} | ||||
changegroup -- {nbchanges: 1, version: 02} | changegroup -- {nbchanges: 1, version: 02} | ||||
e008cf2834908e5d6b0f792a9d4b0e2272260fb8 | e008cf2834908e5d6b0f792a9d4b0e2272260fb8 | ||||
cache:rev-branch-cache -- {} | cache:rev-branch-cache -- {} | ||||
phase-heads -- {} | phase-heads -- {} | ||||
e008cf2834908e5d6b0f792a9d4b0e2272260fb8 draft | e008cf2834908e5d6b0f792a9d4b0e2272260fb8 draft | ||||
#if repobundlerepo | |||||
$ hg pull .hg/strip-backup/e008cf283490-*-backup.hg | $ hg pull .hg/strip-backup/e008cf283490-*-backup.hg | ||||
pulling from .hg/strip-backup/e008cf283490-ede36964-backup.hg | pulling from .hg/strip-backup/e008cf283490-ede36964-backup.hg | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
#endif | |||||
$ hg debugobsolete | $ hg debugobsolete | ||||
e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'} | e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'} | ||||
$ hg log -G | $ hg log -G | ||||
@ 2:b0551702f918 (draft) [tip ] 2 | @ 2:b0551702f918 (draft) [tip ] 2 | ||||
| | | | ||||
o 1:e016b03fd86f (draft) [ ] 1 | o 1:e016b03fd86f (draft) [ ] 1 | ||||
| | | | ||||
o 0:a78f55e5508c (draft) [ ] 0 | o 0:a78f55e5508c (draft) [ ] 0 |
#require unix-permissions no-root | #require unix-permissions no-root reporevlogstore | ||||
$ hg init t | $ hg init t | ||||
$ cd t | $ cd t | ||||
$ echo foo > a | $ echo foo > a | ||||
$ hg add a | $ hg add a | ||||
$ hg commit -m "1" | $ hg commit -m "1" |
|/ | |/ | ||||
o 1 public a-B - 548a3d25dbf0 | o 1 public a-B - 548a3d25dbf0 | ||||
| | | | ||||
o 0 public a-A - 054250a37db4 | o 0 public a-A - 054250a37db4 | ||||
Pulling from bundle does not alter phases of changeset not present in the bundle | Pulling from bundle does not alter phases of changeset not present in the bundle | ||||
#if repobundlerepo | |||||
$ hg bundle --base 1 -r 6 -r 3 ../partial-bundle.hg | $ hg bundle --base 1 -r 6 -r 3 ../partial-bundle.hg | ||||
5 changesets found | 5 changesets found | ||||
$ hg pull ../partial-bundle.hg | $ hg pull ../partial-bundle.hg | ||||
pulling from ../partial-bundle.hg | pulling from ../partial-bundle.hg | ||||
searching for changes | searching for changes | ||||
no changes found | no changes found | ||||
$ hgph | $ hgph | ||||
@ 10 draft a-H - 967b449fbc94 | @ 10 draft a-H - 967b449fbc94 | ||||
| o 3 public a-D - b555f63b6063 | | o 3 public a-D - b555f63b6063 | ||||
| | | | | | ||||
| o 2 public a-C - 54acac6f23ab | | o 2 public a-C - 54acac6f23ab | ||||
|/ | |/ | ||||
o 1 public a-B - 548a3d25dbf0 | o 1 public a-B - 548a3d25dbf0 | ||||
| | | | ||||
o 0 public a-A - 054250a37db4 | o 0 public a-A - 054250a37db4 | ||||
#endif | |||||
Pushing to Publish=False (unknown changeset) | Pushing to Publish=False (unknown changeset) | ||||
$ hg push ../mu -r b740e3e5c05d # a-F | $ hg push ../mu -r b740e3e5c05d # a-F | ||||
pushing to ../mu | pushing to ../mu | ||||
searching for changes | searching for changes | ||||
adding changesets | adding changesets | ||||
adding manifests | adding manifests |
$ hg commit -Aqm a | $ hg commit -Aqm a | ||||
$ touch b | $ touch b | ||||
$ hg commit -Aqm b | $ hg commit -Aqm b | ||||
$ hg strip -r 0 | $ hg strip -r 0 | ||||
0 files updated, 0 files merged, 2 files removed, 0 files unresolved | 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 | saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-e68910bd-backup.hg | ||||
$ ls .hg/strip-backup | $ ls .hg/strip-backup | ||||
3903775176ed-e68910bd-backup.hg | 3903775176ed-e68910bd-backup.hg | ||||
#if repobundlerepo | |||||
$ hg pull -q -r 3903775176ed .hg/strip-backup/3903775176ed-e68910bd-backup.hg | $ hg pull -q -r 3903775176ed .hg/strip-backup/3903775176ed-e68910bd-backup.hg | ||||
$ hg strip -r 0 | $ hg strip -r 0 | ||||
saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-54390173-backup.hg | saved backup bundle to $TESTTMP/doublebundle/.hg/strip-backup/3903775176ed-54390173-backup.hg | ||||
$ ls .hg/strip-backup | $ ls .hg/strip-backup | ||||
3903775176ed-54390173-backup.hg | 3903775176ed-54390173-backup.hg | ||||
3903775176ed-e68910bd-backup.hg | 3903775176ed-e68910bd-backup.hg | ||||
#endif | |||||
$ cd .. | $ cd .. | ||||
Test that we only bundle the stripped changesets (issue4736) | Test that we only bundle the stripped changesets (issue4736) | ||||
------------------------------------------------------------ | ------------------------------------------------------------ | ||||
initialization (previous repo is empty anyway) | initialization (previous repo is empty anyway) | ||||
$ hg init issue4736 | $ hg init issue4736 | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commitA | summary: commitA | ||||
Check bundle behavior: | Check bundle behavior: | ||||
$ hg bundle -r 'desc(mergeCD)' --base 'desc(commitC)' ../issue4736.hg | $ hg bundle -r 'desc(mergeCD)' --base 'desc(commitC)' ../issue4736.hg | ||||
2 changesets found | 2 changesets found | ||||
#if repobundlerepo | |||||
$ hg log -r 'bundle()' -R ../issue4736.hg | $ hg log -r 'bundle()' -R ../issue4736.hg | ||||
changeset: 3:6625a5168474 | changeset: 3:6625a5168474 | ||||
parent: 1:eca11cf91c71 | parent: 1:eca11cf91c71 | ||||
user: test | user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commitD | summary: commitD | ||||
changeset: 4:d8db9d137221 | changeset: 4:d8db9d137221 | ||||
tag: tip | tag: tip | ||||
parent: 2:5c51d8d6557d | parent: 2:5c51d8d6557d | ||||
parent: 3:6625a5168474 | parent: 3:6625a5168474 | ||||
user: test | user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: mergeCD | summary: mergeCD | ||||
#endif | |||||
check strip behavior | check strip behavior | ||||
$ hg --config extensions.strip= strip 'desc(commitD)' --debug | $ hg --config extensions.strip= strip 'desc(commitD)' --debug | ||||
resolving manifests | resolving manifests | ||||
branchmerge: False, force: True, partial: False | branchmerge: False, force: True, partial: False | ||||
ancestor: d8db9d137221+, local: d8db9d137221+, remote: eca11cf91c71 | ancestor: d8db9d137221+, local: d8db9d137221+, remote: eca11cf91c71 | ||||
c: other deleted -> r | c: other deleted -> r | ||||
o changeset: 0:105141ef12d0 | o changeset: 0:105141ef12d0 | ||||
user: test | user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commitA | summary: commitA | ||||
strip backup content | strip backup content | ||||
#if repobundlerepo | |||||
$ hg log -r 'bundle()' -R .hg/strip-backup/6625a5168474-*-backup.hg | $ hg log -r 'bundle()' -R .hg/strip-backup/6625a5168474-*-backup.hg | ||||
changeset: 3:6625a5168474 | changeset: 3:6625a5168474 | ||||
parent: 1:eca11cf91c71 | parent: 1:eca11cf91c71 | ||||
user: test | user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: commitD | summary: commitD | ||||
changeset: 4:d8db9d137221 | changeset: 4:d8db9d137221 | ||||
tag: tip | tag: tip | ||||
parent: 2:5c51d8d6557d | parent: 2:5c51d8d6557d | ||||
parent: 3:6625a5168474 | parent: 3:6625a5168474 | ||||
user: test | user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: mergeCD | summary: mergeCD | ||||
#endif | |||||
Check that the phase cache is properly invalidated after a strip with bookmark. | Check that the phase cache is properly invalidated after a strip with bookmark. | ||||
$ cat > ../stripstalephasecache.py << EOF | $ cat > ../stripstalephasecache.py << EOF | ||||
> from mercurial import extensions, localrepo | > from mercurial import extensions, localrepo | ||||
> def transactioncallback(orig, repo, desc, *args, **kwargs): | > def transactioncallback(orig, repo, desc, *args, **kwargs): | ||||
> def test(transaction): | > def test(transaction): | ||||
> # observe cache inconsistency | > # observe cache inconsistency | ||||
> try: | > try: |
linking [ <=> ] 6\r (no-eol) (esc) | linking [ <=> ] 6\r (no-eol) (esc) | ||||
linking [ <=> ] 7\r (no-eol) (esc) | linking [ <=> ] 7\r (no-eol) (esc) | ||||
linking [ <=> ] 8\r (no-eol) (esc) | linking [ <=> ] 8\r (no-eol) (esc) | ||||
linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !) | linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !) | ||||
linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !) | linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !) | ||||
updating [===========================================>] 3/3\r (no-eol) (esc) | updating [===========================================>] 3/3\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | \r (no-eol) (esc) | ||||
\r (no-eol) (esc) | \r (no-eol) (esc) | ||||
linking [ <=> ] 1\r (no-eol) (esc) (no-reposimplestore !) | linking [ <=> ] 1\r (no-eol) (esc) (reporevlogstore !) | ||||
linking [ <=> ] 2\r (no-eol) (esc) (no-reposimplestore !) | linking [ <=> ] 2\r (no-eol) (esc) (reporevlogstore !) | ||||
linking [ <=> ] 3\r (no-eol) (esc) (no-reposimplestore !) | linking [ <=> ] 3\r (no-eol) (esc) (reporevlogstore !) | ||||
linking [ <=> ] 4\r (no-eol) (esc) (no-reposimplestore !) | linking [ <=> ] 4\r (no-eol) (esc) (reporevlogstore !) | ||||
linking [ <=> ] 5\r (no-eol) (esc) (no-reposimplestore !) | linking [ <=> ] 5\r (no-eol) (esc) (reporevlogstore !) | ||||
linking [ <=> ] 6\r (no-eol) (esc) (no-reposimplestore !) | linking [ <=> ] 6\r (no-eol) (esc) (reporevlogstore !) | ||||
linking [ <=> ] 1\r (no-eol) (esc) (reposimplestore !) | linking [ <=> ] 1\r (no-eol) (esc) (reposimplestore !) | ||||
linking [ <=> ] 2\r (no-eol) (esc) (reposimplestore !) | linking [ <=> ] 2\r (no-eol) (esc) (reposimplestore !) | ||||
linking [ <=> ] 3\r (no-eol) (esc) (reposimplestore !) | linking [ <=> ] 3\r (no-eol) (esc) (reposimplestore !) | ||||
linking [ <=> ] 4\r (no-eol) (esc) (reposimplestore !) | linking [ <=> ] 4\r (no-eol) (esc) (reposimplestore !) | ||||
linking [ <=> ] 5\r (no-eol) (esc) (reposimplestore !) | linking [ <=> ] 5\r (no-eol) (esc) (reposimplestore !) | ||||
linking [ <=> ] 6\r (no-eol) (esc) (reposimplestore !) | linking [ <=> ] 6\r (no-eol) (esc) (reposimplestore !) | ||||
updating [===========================================>] 1/1\r (no-eol) (esc) | updating [===========================================>] 1/1\r (no-eol) (esc) | ||||
\r (no-eol) (esc) | \r (no-eol) (esc) | ||||
updating to branch default | updating to branch default | ||||
cloning subrepo sub1 from $TESTTMP/sub1 | cloning subrepo sub1 from $TESTTMP/sub1 | ||||
cloning subrepo sub1/sub2 from $TESTTMP/sub2 | cloning subrepo sub1/sub2 from $TESTTMP/sub2 | ||||
3 files updated, 0 files merged, 0 files removed, 0 files unresolved | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Largefiles is NOT enabled in the clone if the source repo doesn't require it | Largefiles is NOT enabled in the clone if the source repo doesn't require it |