##// END OF EJS Templates
bundle: include advisory rev branch cache part in bundle2 bundle...
bundle: include advisory rev branch cache part in bundle2 bundle `hg bundle` command producing bundle2 will now include an optional part containing the revision-branch cache data. The data sent are mostly nodes so it is quite compact. The goal of the rev-branch-cache is to speed up branch map computation, especially when the branchmap gets invalidated so we send data for all exchanged changesets. In addition, computing the relevant heads to send in case of partial pulling would be challenging. As a reminder, the rev branch cache data significantly speed up branch computation. Having it around provides a small speedup to pull/clone and much higher tolerance to branch map cache invalidation that might happens from later commands. On the Mercurial repository, computing the visible branchmap from scratch move from 2.00 seconds to 0.34s (a -83% speedup). Using this new part, Unbundling the full Mercurial repository moves from 25.736 seconds to 24.030 seconds (around -7% speedup). The bundle size increase is around 3% (from 22.43 MB to 23.13MB) On an half a million revision repository with twenty thousand branches, computing the branchmap moves from 75 seconds to 45 second (-40%) if the caches is used. A bundle containing 50 000 changesets in such repository get a 0.5% size increase from such part for a -3% unbundling time speedup.

File last commit:

r34662:eb586ed5 default
r36983:b89a7ef2 default
Show More
test-bundle.t
877 lines | 22.0 KiB | text/troff | Tads3Lexer
Pierre-Yves David
test: use generaldelta for test-bundle.t...
r26923
$ cat << EOF >> $HGRCPATH
> [format]
> usegeneraldelta=yes
> EOF
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"
Martin Geisler
tests: unify test-bundle
r11870 $ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 9 changesets, 7 total revisions
$ 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]
Martin Geisler
tests: unify test-bundle
r11870 $ hg -R empty verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
0 files, 0 changesets, 0 total revisions
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)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f9ee2f85a263:aa35859c02ea
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)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f9ee2f85a263:aa35859c02ea
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)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f9ee2f85a263:aa35859c02ea
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
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]
> changegroup = sh -c "printenv.py changegroup"
> EOF
Martin Geisler
tests: unify test-bundle
r11870
doesn't work (yet ?)
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)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f9ee2f85a263:aa35859c02ea
Matt Harbison
test-bundle: glob away a URL protocol separator...
r31851 changegroup hook: HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_URL=bundle*../full.hg (glob)
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)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f9ee2f85a263:aa35859c02ea
Pierre-Yves David
hook: add hook name information to external hook...
r31747 changegroup hook: HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf HG_SOURCE=pull HG_TXNID=TXN:$ID$ 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
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')
Gregory Szorc
commands: support creating stream clone bundles...
r26757 [255]
packed1 is produced properly
$ hg -R test debugcreatestreamclonebundle packed.hg
Gregory Szorc
revlog: make compressed size comparisons consistent...
r30792 writing 2664 bytes for 6 files
Pierre-Yves David
test: use generaldelta for test-bundle.t...
r26923 bundle requirements: generaldelta, revlogv1
Gregory Szorc
commands: support creating stream clone bundles...
r26757
$ f -B 64 --size --sha1 --hexdump packed.hg
Gregory Szorc
revlog: make compressed size comparisons consistent...
r30792 packed.hg: size=2827, sha1=9d14cb90c66a21462d915ab33656f38b9deed686
Gregory Szorc
commands: support creating stream clone bundles...
r26757 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........|
Gregory Szorc
revlog: make compressed size comparisons consistent...
r30792 0010: 00 00 00 00 0a 68 00 16 67 65 6e 65 72 61 6c 64 |.....h..generald|
Pierre-Yves David
test: use generaldelta for test-bundle.t...
r26923 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 76 31 00 64 61 |elta,revlogv1.da|
0030: 74 61 2f 61 64 69 66 66 65 72 65 6e 74 66 69 6c |ta/adifferentfil|
Gregory Szorc
commands: support creating stream clone bundles...
r26757
Gregory Szorc
commands: teach debugbundle to print bundle specification...
r27885 $ hg debugbundle --spec packed.hg
none-packed1;requirements%3Dgeneraldelta%2Crevlogv1
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 ..
Gregory Szorc
tests: actually test non-generaldelta variant for stream clones...
r30013 $ hg -R testnongd debugcreatestreamclonebundle packednongd.hg
Gregory Szorc
commands: support creating stream clone bundles...
r26757 writing 301 bytes for 3 files
Gregory Szorc
tests: actually test non-generaldelta variant for stream clones...
r30013 bundle requirements: 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
packednongd.hg: size=383, sha1=1d9c230238edd5d38907100b729ba72b1831fe6f
Gregory Szorc
commands: support creating stream clone bundles...
r26757 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........|
Gregory Szorc
tests: actually test non-generaldelta variant for stream clones...
r30013 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 |................|
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
none-packed1;requirements%3Drevlogv1
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 ..
$ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg
(warning: stream clone bundle will contain secret revisions)
writing 301 bytes for 3 files
bundle requirements: generaldelta, revlogv1
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")
[255]
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
> from __future__ import absolute_import
>
> def showtip(ui, repo, hooktype, **kwargs):
> ui.warn('%s: %s\n' % (hooktype, repo['tip'].hex()[:12]))
>
> def reposetup(ui, repo):
> # this confirms (and ensures) that (empty) 00changelog.i
> # before streamclone is already cached as repo.changelog
> ui.setconfig('hooks', 'pretxnopen.showtip', showtip)
>
> # this confirms that streamclone-ed changes are visible to
> # in-process procedures before closing transaction
> ui.setconfig('hooks', 'pretxnclose.showtip', showtip)
>
> # this confirms that streamclone-ed changes are still visible
> # after closing transaction
> ui.setconfig('hooks', 'txnclose.showtip', showtip)
> 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
Pierre-Yves David
test: use generaldelta for test-bundle.t...
r26923 6 files to transfer, 2.60 KB of data
FUJIWARA Katsunori
streamclone: clear caches after writing changes into files for visibility...
r29919 pretxnopen: 000000000000
pretxnclose: aa35859c02ea
Pierre-Yves David
test: use generaldelta for test-bundle.t...
r26923 transferred 2.60 KB in *.* seconds (* */sec) (glob)
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]
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
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]
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)
$ 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)
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f9ee2f85a263:aa35859c02ea
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
Nicolas Dumazet
util: do not recurse in makedirs if name is '' (issue2528)
r13053 [255]
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
$ hg -R test bundle --base 0 -r 1 ../1.hg
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
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets f9ee2f85a263
Martin Geisler
tests: unify test-bundle
r11870 adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Denis Laxalde
transaction-summary: show the range of new revisions upon pull/unbundle (BC)...
r34662 new changesets 34c2bf6b0626
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 ..
Martin Geisler
tests: unify test-bundle
r11870 test for 540d1059c802
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
$ cd ../orig
$ 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
abort: unknown revision 'bundle.hg'!
[255]
note that percent encoding is not handled:
$ hg incoming ../test%23bundle.hg
abort: repository ../test%23bundle.hg not found!
[255]
$ cd ..
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
$ hg -R foo.hg -q log -r "bundle()"
9:b4f5acb1ee27
$ 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
abort: 00changelog.i@bbd179dfa0a7: unknown parent!
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bundle
r11870
full history bundle, refuses to verify non-local repo
$ hg -R all.hg verify
abort: cannot verify bundle or remote repos
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-bundle
r11870
but, regular verify must continue to work
$ hg -R orig verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 2 changesets, 2 total revisions
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 ..
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
Sune Foldager
localrepo: add total to changeset progress in bundle/push
r14520 bundling: 1/2 changesets (50.00%)
bundling: 2/2 changesets (100.00%)
Augie Fackler
bundle progress: offer best-guess deterministic progress information...
r13116 bundling: 1/2 manifests (50.00%)
bundling: 2/2 manifests (100.00%)
Sune Foldager
bundle: make bundles more portable (isue3441)...
r16736 bundling: b 1/3 files (33.33%)
bundling: b1 2/3 files (66.67%)
bundling: x 3/3 files (100.00%)
Boris Feld
bundle: include advisory rev branch cache part in bundle2 bundle...
r36983 bundle2-output-part: "cache:rev-branch-cache" streamed payload
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
$ hg -R part2 verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
4 files, 3 changesets, 5 total revisions
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
[255]
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
$ 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