##// END OF EJS Templates
changelog: never inline changelog...
changelog: never inline changelog The test suite mostly use small repositories, that implies that most changelog in the tests are inlined. As a result, non-inlined changelog are quite poorly tested. Since non-inline changelog are most common case for serious repositories, this lack of testing is a significant problem that results in high profile issue like the one recently fixed by 66417f55ea33 and 849745d7da89. Inlining the changelog does not bring much to the table, the number of total file saved is negligible, and the changelog will be read by most operation anyway. So this changeset is make it so we never inline the changelog, and de-inline the one that are still inlined whenever we touch them. By doing that, we remove the "dual code path" situation for writing new entry to the changelog and move to a "single code path" situation. Having a single code path simplify the code and make sure it is covered by test (if test cover that situation obviously) This impact all tests that care about the number of file and the exchange size, but there is nothing too complicated in them just a lot of churn. The churn is made "worse" by the fact rust will use the persistent nodemap on any changelog now. Which is overall a win as it means testing the persistent nodemap more and having less special cases. In short, having inline changelog is mostly useless and an endless source of pain. We get rid of it.

File last commit:

r52074:dcaa2df1 default
r52074:dcaa2df1 default
Show More
test-bundle.t
1118 lines | 31.8 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: unify test-bundle
r11870 Setting up test
$ hg init test
$ cd test
$ echo 0 > afile
$ hg add afile
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "0.0"
Martin Geisler
tests: unify test-bundle
r11870 $ echo 1 >> afile
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "0.1"
Martin Geisler
tests: unify test-bundle
r11870 $ echo 2 >> afile
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "0.2"
Martin Geisler
tests: unify test-bundle
r11870 $ echo 3 >> afile
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "0.3"
Martin Geisler
tests: unify test-bundle
r11870 $ hg update -C 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo 1 >> afile
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "1.1"
Martin Geisler
tests: unify test-bundle
r11870 created new head
$ echo 2 >> afile
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "1.2"
Martin Geisler
tests: unify test-bundle
r11870 $ echo "a line" > fred
$ echo 3 >> afile
$ hg add fred
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "1.3"
Martin Geisler
tests: unify test-bundle
r11870 $ hg mv afile adifferentfile
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "1.3m"
Martin Geisler
tests: unify test-bundle
r11870 $ hg update -C 3
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg mv afile anotherfile
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "0.3m"
Raphaël Gomès
tests: use the `--quiet` flag for verify when applicable...
r50720 $ hg verify -q
Martin Geisler
tests: unify test-bundle
r11870 $ cd ..
$ hg init empty
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
bundle: display info about secret changets while no sharable changeset found
r15991 Bundle and phase
$ hg -R test phase --force --secret 0
$ hg -R test bundle phase.hg empty
searching for changes
Matt Mackall
scmutil: unify some 'no changes found' messages...
r15993 no changes found (ignored 9 secret changesets)
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
bundle: display info about secret changets while no sharable changeset found
r15991 [1]
$ hg -R test phase --draft -r 'head()'
Martin Geisler
tests: unify test-bundle
r11870 Bundle --all
$ hg -R test bundle --all all.hg
9 changesets found
Bundle test to full.hg
$ hg -R test bundle full.hg empty
searching for changes
9 changesets found
Unbundle full.hg in test
$ hg -R test unbundle full.hg
adding changesets
adding manifests
adding file changes
added 0 changesets with 0 changes to 4 files
(run 'hg update' to get a working copy)
Verify empty
$ hg -R empty heads
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Raphaël Gomès
tests: use the `--quiet` flag for verify when applicable...
r50720 $ hg -R empty verify -q
Martin Geisler
tests: unify test-bundle
r11870
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #if repobundlerepo
Martin Geisler
tests: unify test-bundle
r11870 Pull full.hg into test (using --cwd)
$ hg --cwd test pull ../full.hg
pulling from ../full.hg
searching for changes
no changes found
Piotr Klecha
pull: close peer repo on completion (issue2491) (issue2797)...
r20576 Verify that there are no leaked temporary files after pull (issue2797)
$ ls test/.hg | grep .hg10un
[1]
Martin Geisler
tests: unify test-bundle
r11870 Pull full.hg into empty (using --cwd)
$ hg --cwd empty pull ../full.hg
pulling from ../full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
Martin Geisler
tests: unify test-bundle
r11870 (run 'hg heads' to see heads, 'hg merge' to merge)
Rollback empty
$ hg -R empty rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision -1 (undo pull)
Martin Geisler
tests: unify test-bundle
r11870
Pull full.hg into empty again (using --cwd)
$ hg --cwd empty pull ../full.hg
pulling from ../full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
Martin Geisler
tests: unify test-bundle
r11870 (run 'hg heads' to see heads, 'hg merge' to merge)
Pull full.hg into test (using -R)
$ hg -R test pull full.hg
pulling from full.hg
searching for changes
no changes found
Pull full.hg into empty (using -R)
$ hg -R empty pull full.hg
pulling from full.hg
searching for changes
no changes found
Rollback empty
$ hg -R empty rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision -1 (undo pull)
Martin Geisler
tests: unify test-bundle
r11870
Pull full.hg into empty again (using -R)
$ hg -R empty pull full.hg
pulling from full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
Martin Geisler
tests: unify test-bundle
r11870 (run 'hg heads' to see heads, 'hg merge' to merge)
Log -R full.hg in fresh empty
$ rm -r empty
$ hg init empty
$ cd empty
$ hg -R bundle://../full.hg log
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 8:aa35859c02ea
Martin Geisler
tests: unify test-bundle
r11870 tag: tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 parent: 3:eebf5a27f8ca
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.3m
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 7:a6a34bfa0076
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3m
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 6:7373c1169842
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 5:1bb50a9436a7
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.2
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 4:095197eb4973
parent: 0:f9ee2f85a263
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.1
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 3:eebf5a27f8ca
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.3
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 2:e38ba6f5b7e0
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.2
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 1:34c2bf6b0626
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.1
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 0:f9ee2f85a263
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.0
Adrian Buehlmann
Make sure bundlerepo doesn't leak temp files (issue2491)...
r13382 Make sure bundlerepo doesn't leak tempfiles (issue2491)
$ ls .hg
00changelog.i
cache
requires
store
Boris Feld
cache: create `wcache` directory at init time...
r40825 wcache
Martin Geisler
tests: unify test-bundle
r11870
Pull ../full.hg into empty (with hook)
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 $ cat >> .hg/hgrc <<EOF
> [hooks]
Boris Feld
test: use `printenv.py --line` in `test-bundle.t`...
r41786 > changegroup = sh -c "printenv.py --line changegroup"
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 > EOF
Martin Geisler
tests: unify test-bundle
r11870
doesn't work (yet ?)
Matt Harbison
tests: conditionalize msys path mangling in test-bundle.t...
r41878 NOTE: msys is mangling the URL below
Martin Geisler
tests: unify test-bundle
r11870
hg -R bundle://../full.hg verify
$ hg pull bundle://../full.hg
Brodie Rao
url: use url.url in url.open()
r13818 pulling from bundle:../full.hg
Martin Geisler
tests: unify test-bundle
r11870 requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
Boris Feld
test: use `printenv.py --line` in `test-bundle.t`...
r41786 changegroup hook: HG_HOOKNAME=changegroup
HG_HOOKTYPE=changegroup
HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735
HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf
HG_SOURCE=pull
HG_TXNID=TXN:$ID$
transaction: include txnname in the hookargs dictionary...
r42062 HG_TXNNAME=pull
Matt Harbison
tests: stabilize test-bundle.t on Windows...
r42095 bundle:../full.hg (no-msys !)
bundle;../full.hg (msys !)
Matt Harbison
tests: conditionalize msys path mangling in test-bundle.t...
r41878 HG_URL=bundle:../full.hg (no-msys !)
HG_URL=bundle;../full.hg (msys !)
Boris Feld
test: use `printenv.py --line` in `test-bundle.t`...
r41786
Martin Geisler
tests: unify test-bundle
r11870 (run 'hg heads' to see heads, 'hg merge' to merge)
Rollback empty
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision -1 (undo pull)
Martin Geisler
tests: unify test-bundle
r11870 $ cd ..
Log -R bundle:empty+full.hg
$ hg -R bundle:empty+full.hg log --template="{rev} "; echo ""
8 7 6 5 4 3 2 1 0
Pull full.hg into empty again (using -R; with hook)
$ hg -R empty pull full.hg
pulling from full.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
Boris Feld
test: use `printenv.py --line` in `test-bundle.t`...
r41786 changegroup hook: HG_HOOKNAME=changegroup
HG_HOOKTYPE=changegroup
HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735
HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf
HG_SOURCE=pull
HG_TXNID=TXN:$ID$
transaction: include txnname in the hookargs dictionary...
r42062 HG_TXNNAME=pull
bundle:empty+full.hg
Boris Feld
test: use `printenv.py --line` in `test-bundle.t`...
r41786 HG_URL=bundle:empty+full.hg
Martin Geisler
tests: unify test-bundle
r11870 (run 'hg heads' to see heads, 'hg merge' to merge)
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
Gregory Szorc
commands: support creating stream clone bundles...
r26757 Cannot produce streaming clone bundles with "hg bundle"
$ hg -R test bundle -t packed1 packed.hg
abort: packed bundles cannot be produced by "hg bundle"
timeless
debugcreatestreamclonebundle: use single quotes around command hint...
r28961 (use 'hg debugcreatestreamclonebundle')
Martin von Zweigbergk
errors: introduce InputError and use it from commands and cmdutil...
r46431 [10]
Gregory Szorc
commands: support creating stream clone bundles...
r26757
packed1 is produced properly
test-bundle: split each variant in there own section...
r49490
#if reporevlogstore rust
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444
Gregory Szorc
commands: support creating stream clone bundles...
r26757 $ hg -R test debugcreatestreamclonebundle packed.hg
changelog: never inline changelog...
r52074 writing 2665 bytes for 6 files (no-rust !)
writing 2919 bytes for 9 files (rust !)
stream-clone: allow to change persistent-nodemap format during stream clone...
r49542 bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog
test-bundle: split each variant in there own section...
r49490
$ f -B 64 --size --sha1 --hexdump packed.hg
changelog: never inline changelog...
r52074 packed.hg: size=2865, sha1=353d10311f4befa195d9a1ca4b8e26518115c702 (no-rust !)
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........| (no-rust !)
0010: 00 00 00 00 0a 69 00 3b 67 65 6e 65 72 61 6c 64 |.....i.;generald| (no-rust !)
packed.hg: size=3181, sha1=b202787710a1c109246554be589506cd2916acb7 (rust !)
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 09 00 00 |HGS1UN..........| (rust !)
0010: 00 00 00 00 0b 67 00 3b 67 65 6e 65 72 61 6c 64 |.....g.;generald| (rust !)
stream-clone: allow to change persistent-nodemap format during stream clone...
r49542 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 2d 63 6f 6d 70 |elta,revlog-comp|
0030: 72 65 73 73 69 6f 6e 2d 7a 73 74 64 2c 72 65 76 |ression-zstd,rev|
test-bundle: split each variant in there own section...
r49490 $ hg debugbundle --spec packed.hg
stream-clone: allow to change persistent-nodemap format during stream clone...
r49542 none-packed1;requirements%3Dgeneraldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog
test-bundle: split each variant in there own section...
r49490 #endif
#if reporevlogstore no-rust zstd
$ hg -R test debugcreatestreamclonebundle packed.hg
changelog: never inline changelog...
r52074 writing 2665 bytes for 7 files
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const...
r49498 bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog
Gregory Szorc
commands: support creating stream clone bundles...
r26757
$ f -B 64 --size --sha1 --hexdump packed.hg
changelog: never inline changelog...
r52074 packed.hg: size=2882, sha1=6525b07e6bfced4b6c2319cb58c6ff76ca72fa13
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 07 00 00 |HGS1UN..........|
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const...
r49498 0010: 00 00 00 00 0a 69 00 3b 67 65 6e 65 72 61 6c 64 |.....i.;generald|
0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 2d 63 6f 6d 70 |elta,revlog-comp|
0030: 72 65 73 73 69 6f 6e 2d 7a 73 74 64 2c 72 65 76 |ression-zstd,rev|
test-bundle: split each variant in there own section...
r49490 $ hg debugbundle --spec packed.hg
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const...
r49498 none-packed1;requirements%3Dgeneraldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog
test-bundle: split each variant in there own section...
r49490 #endif
#if reporevlogstore no-rust no-zstd
Gregory Szorc
commands: support creating stream clone bundles...
r26757
test-bundle: split each variant in there own section...
r49490 $ hg -R test debugcreatestreamclonebundle packed.hg
changelog: never inline changelog...
r52074 writing 2664 bytes for 7 files
test-bundle: split each variant in there own section...
r49490 bundle requirements: generaldelta, revlogv1, sparserevlog
$ f -B 64 --size --sha1 --hexdump packed.hg
changelog: never inline changelog...
r52074 packed.hg: size=2857, sha1=3a7353323915b095baa6f2ee0a5aed588f11f5f0
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 07 00 00 |HGS1UN..........|
test-bundle: split each variant in there own section...
r49490 0010: 00 00 00 00 0a 68 00 23 67 65 6e 65 72 61 6c 64 |.....h.#generald|
0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 76 31 2c 73 70 |elta,revlogv1,sp|
0030: 61 72 73 65 72 65 76 6c 6f 67 00 64 61 74 61 2f |arserevlog.data/|
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 $ hg debugbundle --spec packed.hg
test-bundle: split each variant in there own section...
r49490 none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog
#endif
#if reporevlogstore
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885
Gregory Szorc
tests: actually test non-generaldelta variant for stream clones...
r30013 generaldelta requirement is not listed in stream clone bundles unless used
Gregory Szorc
commands: support creating stream clone bundles...
r26757
Gregory Szorc
tests: actually test non-generaldelta variant for stream clones...
r30013 $ hg --config format.usegeneraldelta=false init testnongd
$ cd testnongd
Gregory Szorc
commands: support creating stream clone bundles...
r26757 $ touch foo
$ hg -q commit -A -m initial
$ cd ..
test-bundle: split each variant in there own section...
r49490
#endif
#if reporevlogstore rust
Gregory Szorc
tests: actually test non-generaldelta variant for stream clones...
r30013 $ hg -R testnongd debugcreatestreamclonebundle packednongd.hg
changelog: never inline changelog...
r52074 writing 301 bytes for 3 files (no-rust !)
writing 427 bytes for 6 files (rust !)
stream-clone: allow to change persistent-nodemap format during stream clone...
r49542 bundle requirements: revlog-compression-zstd, revlogv1
test-bundle: split each variant in there own section...
r49490
$ f -B 64 --size --sha1 --hexdump packednongd.hg
changelog: never inline changelog...
r52074 packednongd.hg: size=407, sha1=0b8714422b785ba8eb98c916b41ffd5fb994c9b5 (no-rust !)
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........| (no-rust !)
0010: 00 00 00 00 01 2d 00 21 72 65 76 6c 6f 67 2d 63 |.....-.!revlog-c| (no-rust !)
packednongd.hg: size=593, sha1=1ad0cbea11b5dd7b0437e54ae20fc5f8df118521 (rust !)
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........| (rust !)
0010: 00 00 00 00 01 ab 00 21 72 65 76 6c 6f 67 2d 63 |.......!revlog-c| (rust !)
stream-clone: allow to change persistent-nodemap format during stream clone...
r49542 0020: 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 2c |ompression-zstd,|
0030: 72 65 76 6c 6f 67 76 31 00 64 61 74 61 2f 66 6f |revlogv1.data/fo|
test-bundle: split each variant in there own section...
r49490
$ hg debugbundle --spec packednongd.hg
stream-clone: allow to change persistent-nodemap format during stream clone...
r49542 none-packed1;requirements%3Drevlog-compression-zstd%2Crevlogv1
test-bundle: split each variant in there own section...
r49490
#endif
#if reporevlogstore no-rust zstd
$ hg -R testnongd debugcreatestreamclonebundle packednongd.hg
changelog: never inline changelog...
r52074 writing 301 bytes for 4 files
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const...
r49498 bundle requirements: revlog-compression-zstd, revlogv1
Gregory Szorc
commands: support creating stream clone bundles...
r26757
Gregory Szorc
tests: actually test non-generaldelta variant for stream clones...
r30013 $ f -B 64 --size --sha1 --hexdump packednongd.hg
changelog: never inline changelog...
r52074 packednongd.hg: size=423, sha1=4269c89cf64b6a4377be75a3983771c4153362bf
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 04 00 00 |HGS1UN..........|
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const...
r49498 0010: 00 00 00 00 01 2d 00 21 72 65 76 6c 6f 67 2d 63 |.....-.!revlog-c|
0020: 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 2c |ompression-zstd,|
0030: 72 65 76 6c 6f 67 76 31 00 64 61 74 61 2f 66 6f |revlogv1.data/fo|
Gregory Szorc
commands: support creating stream clone bundles...
r26757
Gregory Szorc
tests: actually test non-generaldelta variant for stream clones...
r30013 $ hg debugbundle --spec packednongd.hg
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const...
r49498 none-packed1;requirements%3Drevlog-compression-zstd%2Crevlogv1
test-bundle: split each variant in there own section...
r49490
#endif
#if reporevlogstore no-rust no-zstd
$ hg -R testnongd debugcreatestreamclonebundle packednongd.hg
changelog: never inline changelog...
r52074 writing 301 bytes for 4 files
test-bundle: split each variant in there own section...
r49490 bundle requirements: revlogv1
$ f -B 64 --size --sha1 --hexdump packednongd.hg
changelog: never inline changelog...
r52074 packednongd.hg: size=399, sha1=99bb89decfc6674a3cf2cc87accc8c5332ede7fd
0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 04 00 00 |HGS1UN..........|
test-bundle: split each variant in there own section...
r49490 0010: 00 00 00 00 01 2d 00 09 72 65 76 6c 6f 67 76 31 |.....-..revlogv1|
0020: 00 64 61 74 61 2f 66 6f 6f 2e 69 00 36 34 0a 00 |.data/foo.i.64..|
0030: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
$ hg debugbundle --spec packednongd.hg
none-packed1;requirements%3Drevlogv1
#endif
#if reporevlogstore
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885
Gregory Szorc
debugcommands: issue warning when repo has secret changesets (issue5589)...
r32745 Warning emitted when packed bundles contain secret changesets
$ hg init testsecret
$ cd testsecret
$ touch foo
$ hg -q commit -A -m initial
$ hg phase --force --secret -r .
$ cd ..
test-bundle: split each variant in there own section...
r49490 #endif
#if reporevlogstore rust
Gregory Szorc
debugcommands: issue warning when repo has secret changesets (issue5589)...
r32745 $ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg
(warning: stream clone bundle will contain secret revisions)
changelog: never inline changelog...
r52074 writing 301 bytes for 3 files (no-rust !)
writing 427 bytes for 6 files (rust !)
stream-clone: allow to change persistent-nodemap format during stream clone...
r49542 bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog
test-bundle: split each variant in there own section...
r49490
#endif
#if reporevlogstore no-rust zstd
$ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg
(warning: stream clone bundle will contain secret revisions)
changelog: never inline changelog...
r52074 writing 301 bytes for 4 files
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const...
r49498 bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog
test-bundle: split each variant in there own section...
r49490
#endif
#if reporevlogstore no-rust no-zstd
$ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg
(warning: stream clone bundle will contain secret revisions)
changelog: never inline changelog...
r52074 writing 301 bytes for 4 files
test-bundle: split each variant in there own section...
r49490 bundle requirements: generaldelta, revlogv1, sparserevlog
#endif
#if reporevlogstore
Gregory Szorc
debugcommands: issue warning when repo has secret changesets (issue5589)...
r32745
Gregory Szorc
commands: support consuming stream clone bundles...
r26758 Unpacking packed1 bundles with "hg unbundle" isn't allowed
$ hg init packed
$ hg -R packed unbundle packed.hg
abort: packed bundles cannot be applied with "hg unbundle"
(use "hg debugapplystreamclonebundle")
Martin von Zweigbergk
errors: introduce InputError and use it from commands and cmdutil...
r46431 [10]
Gregory Szorc
commands: support consuming stream clone bundles...
r26758
packed1 can be consumed from debug command
FUJIWARA Katsunori
streamclone: clear caches after writing changes into files for visibility...
r29919 (this also confirms that streamclone-ed changes are visible via
@filecache properties to in-process procedures before closing
transaction)
$ cat > $TESTTMP/showtip.py <<EOF
>
> def showtip(ui, repo, hooktype, **kwargs):
Yuya Nishihara
py3: byte-stringify literals in hook script in test-bundle.t...
r38615 > ui.warn(b'%s: %s\n' % (hooktype, repo[b'tip'].hex()[:12]))
FUJIWARA Katsunori
streamclone: clear caches after writing changes into files for visibility...
r29919 >
> def reposetup(ui, repo):
> # this confirms (and ensures) that (empty) 00changelog.i
> # before streamclone is already cached as repo.changelog
Yuya Nishihara
py3: byte-stringify literals in hook script in test-bundle.t...
r38615 > ui.setconfig(b'hooks', b'pretxnopen.showtip', showtip)
FUJIWARA Katsunori
streamclone: clear caches after writing changes into files for visibility...
r29919 >
> # this confirms that streamclone-ed changes are visible to
> # in-process procedures before closing transaction
Yuya Nishihara
py3: byte-stringify literals in hook script in test-bundle.t...
r38615 > ui.setconfig(b'hooks', b'pretxnclose.showtip', showtip)
FUJIWARA Katsunori
streamclone: clear caches after writing changes into files for visibility...
r29919 >
> # this confirms that streamclone-ed changes are still visible
> # after closing transaction
Yuya Nishihara
py3: byte-stringify literals in hook script in test-bundle.t...
r38615 > ui.setconfig(b'hooks', b'txnclose.showtip', showtip)
FUJIWARA Katsunori
streamclone: clear caches after writing changes into files for visibility...
r29919 > EOF
$ cat >> $HGRCPATH <<EOF
> [extensions]
> showtip = $TESTTMP/showtip.py
> EOF
Gregory Szorc
commands: support consuming stream clone bundles...
r26758 $ hg -R packed debugapplystreamclonebundle packed.hg
changelog: never inline changelog...
r52074 7 files to transfer, 2.60 KB of data (no-rust !)
9 files to transfer, 2.85 KB of data (rust !)
FUJIWARA Katsunori
streamclone: clear caches after writing changes into files for visibility...
r29919 pretxnopen: 000000000000
pretxnclose: aa35859c02ea
changelog: never inline changelog...
r52074 transferred 2.60 KB in * seconds (* */sec) (glob) (no-rust !)
transferred 2.85 KB in * seconds (* */sec) (glob) (rust !)
FUJIWARA Katsunori
streamclone: clear caches after writing changes into files for visibility...
r29919 txnclose: aa35859c02ea
(for safety, confirm visibility of streamclone-ed changes by another
process, too)
$ hg -R packed tip -T "{node|short}\n"
aa35859c02ea
$ cat >> $HGRCPATH <<EOF
> [extensions]
> showtip = !
> EOF
Gregory Szorc
commands: support consuming stream clone bundles...
r26758
Does not work on non-empty repo
$ hg -R packed debugapplystreamclonebundle packed.hg
abort: cannot apply stream clone bundle on non-empty repo
[255]
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
Martin Geisler
tests: unify test-bundle
r11870 Create partial clones
$ rm -r empty
$ hg init empty
$ hg clone -r 3 test partial
adding changesets
adding manifests
adding file changes
added 4 changesets with 4 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f9ee2f85a263:eebf5a27f8ca
Martin Geisler
tests: unify test-bundle
r11870 updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg clone partial partial2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd partial
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #if repobundlerepo
Martin Geisler
tests: unify test-bundle
r11870 Log -R full.hg in partial
Eric Sumner
bundlerepo: retract phase boundary...
r23632 $ hg -R bundle://../full.hg log -T phases
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 8:aa35859c02ea
Martin Geisler
tests: unify test-bundle
r11870 tag: tip
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: draft
Martin Geisler
tests: remove unneeded -d flags...
r12156 parent: 3:eebf5a27f8ca
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.3m
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 7:a6a34bfa0076
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: draft
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3m
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 6:7373c1169842
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: draft
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 5:1bb50a9436a7
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: draft
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.2
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 4:095197eb4973
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: draft
Martin Geisler
tests: remove unneeded -d flags...
r12156 parent: 0:f9ee2f85a263
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.1
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 3:eebf5a27f8ca
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: public
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.3
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 2:e38ba6f5b7e0
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: public
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.2
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 1:34c2bf6b0626
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: public
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.1
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 0:f9ee2f85a263
Eric Sumner
bundlerepo: retract phase boundary...
r23632 phase: public
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.0
Incoming full.hg in partial
$ hg incoming bundle://../full.hg
Brodie Rao
url: use url.url in url.open()
r13818 comparing with bundle:../full.hg
Martin Geisler
tests: unify test-bundle
r11870 searching for changes
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 4:095197eb4973
parent: 0:f9ee2f85a263
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.1
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 5:1bb50a9436a7
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.2
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 6:7373c1169842
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 7:a6a34bfa0076
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3m
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 8:aa35859c02ea
Martin Geisler
tests: unify test-bundle
r11870 tag: tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 parent: 3:eebf5a27f8ca
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.3m
Outgoing -R full.hg vs partial2 in partial
$ hg -R bundle://../full.hg outgoing ../partial2
comparing with ../partial2
searching for changes
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 4:095197eb4973
parent: 0:f9ee2f85a263
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.1
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 5:1bb50a9436a7
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.2
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 6:7373c1169842
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 7:a6a34bfa0076
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3m
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 8:aa35859c02ea
Martin Geisler
tests: unify test-bundle
r11870 tag: tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 parent: 3:eebf5a27f8ca
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.3m
Outgoing -R does-not-exist.hg vs partial2 in partial
$ hg -R bundle://../does-not-exist.hg outgoing ../partial2
Adrian Buehlmann
test-bundle: enable for Windows
r16903 abort: *../does-not-exist.hg* (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444
#endif
Martin Geisler
tests: unify test-bundle
r11870 $ cd ..
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015 hide outer repo
$ hg init
Martin Geisler
tests: unify test-bundle
r11870 Direct clone from bundle (all-history)
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #if repobundlerepo
Martin Geisler
tests: unify test-bundle
r11870 $ hg clone full.hg full-clone
requesting all changes
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
Martin Geisler
tests: unify test-bundle
r11870 updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg -R full-clone heads
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 8:aa35859c02ea
Martin Geisler
tests: unify test-bundle
r11870 tag: tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 parent: 3:eebf5a27f8ca
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 0.3m
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 7:a6a34bfa0076
Martin Geisler
tests: unify test-bundle
r11870 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 summary: 1.3m
$ rm -r full-clone
Nicolas Dumazet
util: do not recurse in makedirs if name is '' (issue2528)
r13053 When cloning from a non-copiable repository into '', do not
Matt Mackall
tests: fixup issue markers to make check-commit happy
r22183 recurse infinitely (issue2528)
Nicolas Dumazet
util: do not recurse in makedirs if name is '' (issue2528)
r13053
$ hg clone full.hg ''
FUJIWARA Katsunori
localrepo: use the path relative to "self.vfs" instead of "path" argument...
r17159 abort: empty destination path is not valid
Martin von Zweigbergk
errors: use InputError for some errors on `hg clone`...
r46451 [10]
Nicolas Dumazet
util: do not recurse in makedirs if name is '' (issue2528)
r13053
Matt Mackall
urls: bulk-change BTS urls to new location
r26420 test for https://bz.mercurial-scm.org/216
Martin Geisler
tests: unify test-bundle
r11870
Unbundle incremental bundles into fresh empty in one go
$ rm -r empty
$ hg init empty
$ hg -R test bundle --base null -r 0 ../0.hg
1 changesets found
bundle: introduce a --exact option...
r50305 $ hg -R test bundle --exact -r 1 ../1.hg
Martin Geisler
tests: unify test-bundle
r11870 1 changesets found
$ hg -R empty unbundle -u ../0.hg ../1.hg
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets f9ee2f85a263 (1 drafts)
Martin Geisler
tests: unify test-bundle
r11870 adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Boris Feld
phase: report number of non-public changeset alongside the new range...
r39516 new changesets 34c2bf6b0626 (1 drafts)
Martin Geisler
tests: unify test-bundle
r11870 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Tomasz Kleczek
bundle: add revset expression to show bundle contents (issue3487)...
r17913 View full contents of the bundle
$ hg -R test bundle --base null -r 3 ../partial.hg
4 changesets found
$ cd test
$ hg -R ../../partial.hg log -r "bundle()"
changeset: 0:f9ee2f85a263
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 0.0
changeset: 1:34c2bf6b0626
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 0.1
changeset: 2:e38ba6f5b7e0
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 0.2
changeset: 3:eebf5a27f8ca
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 0.3
$ cd ..
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
Martin Geisler
tests: unify test-bundle
r11870
test for 540d1059c802
$ hg init orig
$ cd orig
$ echo foo > foo
$ hg add foo
$ hg ci -m 'add foo'
$ hg clone . ../copy
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg tag foo
$ cd ../copy
$ echo >> foo
$ hg ci -m 'change foo'
$ hg bundle ../bundle.hg ../orig
searching for changes
1 changesets found
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 $ cd ..
#if repobundlerepo
$ cd orig
Martin Geisler
tests: unify test-bundle
r11870 $ hg incoming ../bundle.hg
comparing with ../bundle.hg
searching for changes
changeset: 2:ed1b79f46b9a
tag: tip
parent: 0:bbd179dfa0a7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: change foo
$ cd ..
Brodie Rao
url: refactor util.drop_scheme() and hg.localpath() into url.localpath()...
r13826 test bundle with # in the filename (issue2154):
$ cp bundle.hg 'test#bundle.hg'
$ cd orig
$ hg incoming '../test#bundle.hg'
comparing with ../test
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: unknown revision 'bundle.hg'
Martin von Zweigbergk
errors: use detailed exit code for RepoLookupError...
r49191 [10]
Brodie Rao
url: refactor util.drop_scheme() and hg.localpath() into url.localpath()...
r13826
note that percent encoding is not handled:
$ hg incoming ../test%23bundle.hg
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: repository ../test%23bundle.hg not found
Brodie Rao
url: refactor util.drop_scheme() and hg.localpath() into url.localpath()...
r13826 [255]
$ cd ..
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
FUJIWARA Katsunori
bundle: treat branches created newly on the local correctly (issue3828)...
r18701 test to bundle revisions on the newly created branch (issue3828):
$ hg -q clone -U test test-clone
$ cd test
$ hg -q branch foo
$ hg commit -m "create foo branch"
$ hg -q outgoing ../test-clone
9:b4f5acb1ee27
$ hg -q bundle --branch foo foo.hg ../test-clone
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #if repobundlerepo
FUJIWARA Katsunori
bundle: treat branches created newly on the local correctly (issue3828)...
r18701 $ hg -R foo.hg -q log -r "bundle()"
9:b4f5acb1ee27
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
FUJIWARA Katsunori
bundle: treat branches created newly on the local correctly (issue3828)...
r18701
$ cd ..
Matt Mackall
urls: bulk-change BTS urls to new location
r26420 test for https://bz.mercurial-scm.org/1144
Martin Geisler
tests: unify test-bundle
r11870
test that verify bundle does not traceback
Mads Kiilerich
spelling: fixes from spell checker
r21024 partial history bundle, fails w/ unknown parent
Martin Geisler
tests: unify test-bundle
r11870
$ hg -R bundle.hg verify
revlog: use revlog.display_id in LookupError...
r47926 abort: 00changelog@bbd179dfa0a71671c253b3ae0aa1513b60d199fa: unknown parent
Martin von Zweigbergk
errors: use detailed exit code 50 for StorageError...
r46732 [50]
Martin Geisler
tests: unify test-bundle
r11870
full history bundle, refuses to verify non-local repo
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #if repobundlerepo
Martin Geisler
tests: unify test-bundle
r11870 $ hg -R all.hg verify
abort: cannot verify bundle or remote repos
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
Martin Geisler
tests: unify test-bundle
r11870
but, regular verify must continue to work
Raphaël Gomès
tests: use the `--quiet` flag for verify when applicable...
r50720 $ hg -R orig verify -q
Martin Geisler
tests: unify test-bundle
r11870
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #if repobundlerepo
Martin Geisler
tests: unify test-bundle
r11870 diff against bundle
$ hg init b
$ cd b
$ hg -R ../all.hg diff -r tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 diff -r aa35859c02ea anotherfile
--- a/anotherfile Thu Jan 01 00:00:00 1970 +0000
Martin Geisler
tests: unify test-bundle
r11870 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-0
-1
-2
-3
$ cd ..
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
Martin Geisler
tests: unify test-bundle
r11870
bundle single branch
$ hg init branchy
$ cd branchy
$ echo a >a
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 $ echo x >x
Martin Geisler
tests: unify test-bundle
r11870 $ hg ci -Ama
adding a
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 adding x
$ echo c >c
$ echo xx >x
$ hg ci -Amc
adding c
$ echo c1 >c1
$ hg ci -Amc1
adding c1
$ hg up 0
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
Martin Geisler
tests: unify test-bundle
r11870 $ echo b >b
$ hg ci -Amb
adding b
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 created new head
Martin Geisler
tests: unify test-bundle
r11870 $ echo b1 >b1
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 $ echo xx >x
Martin Geisler
tests: unify test-bundle
r11870 $ hg ci -Amb1
adding b1
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 $ hg clone -q -r2 . part
Martin Geisler
tests: unify test-bundle
r11870
== bundling via incoming
$ hg in -R part --bundle incoming.hg --template "{node}\n" .
comparing with .
searching for changes
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 1a38c1b849e8b70c756d2d80b0b9a3ac0b7ea11a
057f4db07f61970e1c11e83be79e9d08adc4dc31
Martin Geisler
tests: unify test-bundle
r11870
== bundling
Pierre-Yves David
progress: get the extremely verbose output out of default debug...
r25125 $ hg bundle bundle.hg part --debug --config progress.debug=true
Peter Arrenbrecht
discovery: add new set-based discovery...
r14164 query 1; heads
Martin Geisler
tests: unify test-bundle
r11870 searching for changes
Peter Arrenbrecht
discovery: add new set-based discovery...
r14164 all remote heads known locally
Martin Geisler
tests: unify test-bundle
r11870 2 changesets found
list of changesets:
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 1a38c1b849e8b70c756d2d80b0b9a3ac0b7ea11a
057f4db07f61970e1c11e83be79e9d08adc4dc31
Boris Feld
bundle: include advisory rev branch cache part in bundle2 bundle...
r36983 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
Gregory Szorc
changegroup: change topics during generation...
r39275 changesets: 1/2 chunks (50.00%)
changesets: 2/2 chunks (100.00%)
manifests: 1/2 chunks (50.00%)
manifests: 2/2 chunks (100.00%)
files: b 1/3 files (33.33%)
files: b1 2/3 files (66.67%)
files: x 3/3 files (100.00%)
Boris Feld
bundle2: mark the bundle2 part as advisory (issue5872)...
r37920 bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #if repobundlerepo
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 == Test for issue3441
Martin Geisler
tests: unify test-bundle
r11870
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 $ hg clone -q -r0 . part2
$ hg -q -R part2 pull bundle.hg
Raphaël Gomès
tests: use the `--quiet` flag for verify when applicable...
r50720 $ hg -R part2 verify -q
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Durham Goode
bundle: exit early when there are no commits to bundle...
r27911 == Test bundling no commits
$ hg bundle -r 'public()' no-output.hg
abort: no commits to bundle
Martin von Zweigbergk
errors: introduce InputError and use it from commands and cmdutil...
r46431 [10]
liscju
bundle: warn when update to revision existing only in a bundle (issue5004)...
r28714
$ cd ..
When user merges to the revision existing only in the bundle,
it should show warning that second parent of the working
directory does not exist
$ hg init update2bundled
$ cd update2bundled
$ cat <<EOF >> .hg/hgrc
> [extensions]
> strip =
> EOF
$ echo "aaa" >> a
$ hg commit -A -m 0
adding a
$ echo "bbb" >> b
$ hg commit -A -m 1
adding b
$ echo "ccc" >> c
$ hg commit -A -m 2
adding c
$ hg update -r 1
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo "ddd" >> d
$ hg commit -A -m 3
adding d
created new head
$ hg update -r 2
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg log -G
o changeset: 3:8bd3e1f196af
| tag: tip
| parent: 1:a01eca7af26d
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: 3
|
| @ changeset: 2:4652c276ac4f
|/ user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: 2
|
o changeset: 1:a01eca7af26d
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: 1
|
o changeset: 0:4fe08cd4693e
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 0
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444
#if repobundlerepo
liscju
bundle: warn when update to revision existing only in a bundle (issue5004)...
r28714 $ hg bundle --base 1 -r 3 ../update2bundled.hg
1 changesets found
$ hg strip -r 3
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/update2bundled/.hg/strip-backup/8bd3e1f196af-017e56d8-backup.hg
liscju
bundle: warn when update to revision existing only in a bundle (issue5004)...
r28714 $ hg merge -R ../update2bundled.hg -r 3
setting parent to node 8bd3e1f196af289b2b121be08031e76d7ae92098 that only exists in the bundle
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
When user updates to the revision existing only in the bundle,
it should show warning
$ hg update -R ../update2bundled.hg --clean -r 3
setting parent to node 8bd3e1f196af289b2b121be08031e76d7ae92098 that only exists in the bundle
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
When user updates to the revision existing in the local repository
the warning shouldn't be emitted
$ hg update -R ../update2bundled.hg -r 0
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
Gregory Szorc
tests: conditionalize test-bundle.t...
r37444 #endif
Boris Feld
changegroup: allow to force delta to be against p1...
r40458
Test the option that create slim bundle
$ hg bundle -a --config devel.bundle.delta=p1 ./slim.hg
3 changesets found
Boris Feld
changegroup: add a option to create bundle with full snapshot only...
r40459
Test the option that create and no-delta's bundle
$ hg bundle -a --config devel.bundle.delta=full ./full.hg
3 changesets found
deltas: add a `debug.revlog.debug-delta` config option enable output...
r50122
debug: add an option to display statistic about a bundling operation...
r50505
Test the debug statistic when building a bundle
-----------------------------------------------
$ hg bundle -a ./default.hg --config debug.bundling-stats=yes
3 changesets found
DEBUG-BUNDLING: revisions: 9
DEBUG-BUNDLING: changelog: 3
DEBUG-BUNDLING: manifest: 3
DEBUG-BUNDLING: files: 3 (for 3 revlogs)
DEBUG-BUNDLING: deltas:
DEBUG-BUNDLING: from-storage: 2 (100% of available 2)
DEBUG-BUNDLING: computed: 7
DEBUG-BUNDLING: full: 7 (100% of native 7)
DEBUG-BUNDLING: changelog: 3 (100% of native 3)
DEBUG-BUNDLING: manifests: 1 (100% of native 1)
DEBUG-BUNDLING: files: 3 (100% of native 3)
deltas: add a `debug.revlog.debug-delta` config option enable output...
r50122 Test the debug output when applying delta
-----------------------------------------
$ hg init foo
$ hg -R foo unbundle ./slim.hg \
> --config debug.revlog.debug-delta=yes \
> --config storage.revlog.reuse-external-delta=no \
> --config storage.revlog.reuse-external-delta-parent=no
adding changesets
delta-find: properly report full snapshot used from cache as such...
r50676 DBG-DELTAS: CHANGELOG: rev=0: delta-base=0 is-cached=1 - search-rounds=0 try-count=0 - delta-type=full snap-depth=0 - p1-chain-length=-1 p2-chain-length=-1 - duration=* (glob)
DBG-DELTAS: CHANGELOG: rev=1: delta-base=1 is-cached=1 - search-rounds=0 try-count=0 - delta-type=full snap-depth=0 - p1-chain-length=0 p2-chain-length=-1 - duration=* (glob)
DBG-DELTAS: CHANGELOG: rev=2: delta-base=2 is-cached=1 - search-rounds=0 try-count=0 - delta-type=full snap-depth=0 - p1-chain-length=0 p2-chain-length=-1 - duration=* (glob)
deltas: add a `debug.revlog.debug-delta` config option enable output...
r50122 adding manifests
delta-find: properly report full snapshot used from cache as such...
r50676 DBG-DELTAS: MANIFESTLOG: rev=0: delta-base=0 is-cached=1 - search-rounds=0 try-count=0 - delta-type=full snap-depth=0 - p1-chain-length=-1 p2-chain-length=-1 - duration=* (glob)
delta-find: add debug information about reuse of cached data...
r50504 DBG-DELTAS: MANIFESTLOG: rev=1: delta-base=0 is-cached=1 - search-rounds=1 try-count=1 - delta-type=delta snap-depth=0 - p1-chain-length=0 p2-chain-length=-1 - duration=* (glob)
DBG-DELTAS: MANIFESTLOG: rev=2: delta-base=1 is-cached=1 - search-rounds=1 try-count=1 - delta-type=delta snap-depth=0 - p1-chain-length=1 p2-chain-length=-1 - duration=* (glob)
deltas: add a `debug.revlog.debug-delta` config option enable output...
r50122 adding file changes
delta-find: properly report full snapshot used from cache as such...
r50676 DBG-DELTAS: FILELOG:a: rev=0: delta-base=0 is-cached=1 - search-rounds=0 try-count=0 - delta-type=full snap-depth=0 - p1-chain-length=-1 p2-chain-length=-1 - duration=* (glob)
DBG-DELTAS: FILELOG:b: rev=0: delta-base=0 is-cached=1 - search-rounds=0 try-count=0 - delta-type=full snap-depth=0 - p1-chain-length=-1 p2-chain-length=-1 - duration=* (glob)
DBG-DELTAS: FILELOG:c: rev=0: delta-base=0 is-cached=1 - search-rounds=0 try-count=0 - delta-type=full snap-depth=0 - p1-chain-length=-1 p2-chain-length=-1 - duration=* (glob)
deltas: add a `debug.revlog.debug-delta` config option enable output...
r50122 added 3 changesets with 3 changes to 3 files
new changesets 4fe08cd4693e:4652c276ac4f (3 drafts)
(run 'hg update' to get a working copy)
debug: add an option to display statistic about a unbundling operation...
r50506
Test the debug statistic when applying a bundle
-----------------------------------------------
$ hg init bar
$ hg -R bar unbundle ./default.hg --config debug.unbundling-stats=yes
adding changesets
adding manifests
adding file changes
DEBUG-UNBUNDLING: revisions: 9
DEBUG-UNBUNDLING: changelog: 3 ( 33%)
DEBUG-UNBUNDLING: manifests: 3 ( 33%)
DEBUG-UNBUNDLING: files: 3 ( 33%)
DEBUG-UNBUNDLING: total-time: ?????????????? seconds (glob)
DEBUG-UNBUNDLING: changelog: ?????????????? seconds (???%) (glob)
DEBUG-UNBUNDLING: manifests: ?????????????? seconds (???%) (glob)
DEBUG-UNBUNDLING: files: ?????????????? seconds (???%) (glob)
DEBUG-UNBUNDLING: type-count:
DEBUG-UNBUNDLING: changelog:
DEBUG-UNBUNDLING: full: 3
delta-find: properly report full snapshot used from cache as such...
r50676 DEBUG-UNBUNDLING: cached: 3 (100%)
debug: add an option to display statistic about a unbundling operation...
r50506 DEBUG-UNBUNDLING: manifests:
DEBUG-UNBUNDLING: full: 1
delta-find: properly report full snapshot used from cache as such...
r50676 DEBUG-UNBUNDLING: cached: 1 (100%)
debug: add an option to display statistic about a unbundling operation...
r50506 DEBUG-UNBUNDLING: delta: 2
DEBUG-UNBUNDLING: cached: 2 (100%)
DEBUG-UNBUNDLING: files:
DEBUG-UNBUNDLING: full: 3
delta-find: properly report full snapshot used from cache as such...
r50676 DEBUG-UNBUNDLING: cached: 3 (100%)
debug: add an option to display statistic about a unbundling operation...
r50506 DEBUG-UNBUNDLING: type-time:
DEBUG-UNBUNDLING: changelog:
DEBUG-UNBUNDLING: full: ?????????????? seconds (???% of total) (glob)
DEBUG-UNBUNDLING: cached: ?????????????? seconds (???% of total) (glob)
DEBUG-UNBUNDLING: manifests:
DEBUG-UNBUNDLING: full: ?????????????? seconds (???% of total) (glob)
DEBUG-UNBUNDLING: cached: ?????????????? seconds (???% of total) (glob)
DEBUG-UNBUNDLING: delta: ?????????????? seconds (???% of total) (glob)
DEBUG-UNBUNDLING: cached: ?????????????? seconds (???% of total) (glob)
DEBUG-UNBUNDLING: files:
DEBUG-UNBUNDLING: full: ?????????????? seconds (???% of total) (glob)
DEBUG-UNBUNDLING: cached: ?????????????? seconds (???% of total) (glob)
added 3 changesets with 3 changes to 3 files
new changesets 4fe08cd4693e:4652c276ac4f (3 drafts)
(run 'hg update' to get a working copy)