##// END OF EJS Templates
narrowspec: use sparse.parseconfig() to parse narrowspec file (BC)...
narrowspec: use sparse.parseconfig() to parse narrowspec file (BC) This also make narrow files use 'include' and 'exclude' instead of plural forms which are 'includes' and 'excludes'. This is BC because existing narrowspecs have to replace excludes, includes words with exclude and include i.e. their singular versions. Differential Revision: https://phab.mercurial-scm.org/D4057

File last commit:

r38489:4c358bda default
r38875:f64ebe7d default
Show More
test-bundle2-pushback.t
120 lines | 2.9 KiB | text/troff | Tads3Lexer
/ tests / test-bundle2-pushback.t
Gregory Szorc
tests: test using both versions of SSH protocol...
r36235 #testcases sshv1 sshv2
#if sshv2
$ cat >> $HGRCPATH << EOF
> [experimental]
> sshpeer.advertise-v2 = true
> sshserver.support-v2 = true
> EOF
#endif
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 $ cat > bundle2.py << EOF
> """A small extension to test bundle2 pushback parts.
> Current bundle2 implementation doesn't provide a way to generate those
> parts, so they must be created by extensions.
> """
Augie Fackler
tests: update test-bundle2-pushback to pass the import checker
r33949 > from __future__ import absolute_import
> from mercurial import bundle2, exchange, pushkey, util
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 > def _newhandlechangegroup(op, inpart):
> """This function wraps the changegroup part handler for getbundle.
Pierre-Yves David
bundle2: rename format, parts and config to final names...
r24686 > It issues an additional pushkey part to send a new
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 > bookmark back to the client"""
> result = bundle2.handlechangegroup(op, inpart)
Pulkit Goyal
py3: add b'' prefixes in tests/test-bundle2-pushback.t...
r38489 > if b'pushback' in op.reply.capabilities:
> params = {b'namespace': b'bookmarks',
> b'key': b'new-server-mark',
> b'old': b'',
> b'new': b'tip'}
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 > encodedparams = [(k, pushkey.encode(v)) for (k,v) in params.items()]
Pulkit Goyal
py3: add b'' prefixes in tests/test-bundle2-pushback.t...
r38489 > op.reply.newpart(b'pushkey', mandatoryparams=encodedparams)
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 > else:
Pulkit Goyal
py3: add b'' prefixes in tests/test-bundle2-pushback.t...
r38489 > op.reply.newpart(b'output', data=b'pushback not enabled')
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 > return result
> _newhandlechangegroup.params = bundle2.handlechangegroup.params
Pulkit Goyal
py3: add b'' prefixes in tests/test-bundle2-pushback.t...
r38489 > bundle2.parthandlermapping[b'changegroup'] = _newhandlechangegroup
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 > EOF
$ cat >> $HGRCPATH <<EOF
> [ui]
Augie Fackler
tests: replace yet more calls to `python` with $PYTHON...
r33262 > ssh = $PYTHON "$TESTDIR/dummyssh"
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 > username = nobody <no.reply@example.com>
>
> [alias]
> tglog = log -G -T "{desc} [{phase}:{node|short}]"
> EOF
Set up server repository
$ hg init server
$ cd server
$ echo c0 > f0
$ hg commit -Am 0
adding f0
Set up client repository
$ cd ..
$ hg clone ssh://user@dummy/server client -q
$ cd client
Enable extension
$ cat >> $HGRCPATH <<EOF
> [extensions]
> bundle2=$TESTTMP/bundle2.py
> EOF
Without config
$ cd ../client
$ echo c1 > f1
$ hg commit -Am 1
adding f1
$ hg push
pushing to ssh://user@dummy/server
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Pierre-Yves David
bundle2: stop capturing output for ssh again...
r25423 remote: pushback not enabled
Eric Sumner
bundle2-push: provide transaction to reply unbundler...
r23439 $ hg bookmark
no bookmarks set
$ cd ../server
$ hg tglog
o 1 [public:2b9c7234e035]
|
@ 0 [public:6cee5c8f3e5b]
With config
$ cd ../client
$ echo '[experimental]' >> .hg/hgrc
$ echo 'bundle2.pushback = True' >> .hg/hgrc
$ echo c2 > f2
$ hg commit -Am 2
adding f2
$ hg push
pushing to ssh://user@dummy/server
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
$ hg bookmark
new-server-mark 2:0a76dfb2e179
$ cd ../server
$ hg tglog
o 2 [public:0a76dfb2e179]
|
o 1 [public:2b9c7234e035]
|
@ 0 [public:6cee5c8f3e5b]