##// END OF EJS Templates
tests: use () instead of \ to wrap lines...
tests: use () instead of \ to wrap lines This should auto-format more consistently, and is slightly more typical Python. Differential Revision: https://phab.mercurial-scm.org/D5992

File last commit:

r41791:7839249e default
r41924:15d3facf default
Show More
test-push-http.t
540 lines | 15.7 KiB | text/troff | Tads3Lexer
Kyle Lippincott
tests: mark tests that fail when using chg as #require no-chg...
r38041 #require no-chg
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319 #testcases bundle1 bundle2
#if bundle1
$ cat << EOF >> $HGRCPATH
> [devel]
> # This test is dedicated to interaction through old bundle
> legacy.exchange = bundle1
> EOF
#endif
Matt Mackall
tests: unify test-push-http
r12483 $ hg init test
$ cd test
$ echo a > a
$ hg ci -Ama
adding a
$ cd ..
$ hg clone test test2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd test2
$ echo a >> a
$ hg ci -mb
$ req() {
Joerg Sonnenberger
wireproto: allow direct stream processing for unbundle...
r37432 > hg $1 serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > cat hg.pid >> $DAEMON_PIDS
> hg --cwd ../test2 push http://localhost:$HGPORT/
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 > exitstatus=$?
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 > killdaemons.py
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > echo % serve errors
> cat errors.log
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 > return $exitstatus
Matt Mackall
tests: unify test-push-http
r12483 > }
$ cd ../test
expect ssl error
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
Yuya Nishihara
hgweb: respond 403 forbidden for ssl required error...
r17456 abort: HTTP Error 403: ssl required
Matt Mackall
tests: unify test-push-http
r12483 % serve errors
Yuya Nishihara
hgweb: respond 403 forbidden for ssl required error...
r17456 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect authorization error
$ echo '[web]' > .hg/hgrc
$ echo 'push_ssl = false' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect authorization error: must have authorized user
$ echo 'allow_push = unperson' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect success
Matt Harbison
tests: adjust hooks for Windows...
r34939 $ cat > $TESTTMP/hook.sh <<'EOF'
> echo "phase-move: $HG_NODE: $HG_OLDPHASE -> $HG_PHASE"
> EOF
Joerg Sonnenberger
wireproto: allow direct stream processing for unbundle...
r37432 #if bundle1
$ cat >> .hg/hgrc <<EOF
> allow_push = *
> [hooks]
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 > changegroup = sh -c "printenv.py --line changegroup 0"
> pushkey = sh -c "printenv.py --line pushkey 0"
Joerg Sonnenberger
wireproto: allow direct stream processing for unbundle...
r37432 > txnclose-phase.test = sh $TESTTMP/hook.sh
> EOF
$ req "--debug --config extensions.blackbox="
Augie Fackler
tests: glob away fqdn wherever we print it...
r37610 listening at http://*:$HGPORT/ (bound to $LOCALIP:$HGPORT) (glob) (?)
Joerg Sonnenberger
wireproto: allow direct stream processing for unbundle...
r37432 pushing to http://localhost:$HGPORT/
searching for changes
remote: redirecting incoming bundle to */hg-unbundle-* (glob)
remote: adding changesets
remote: add changeset ba677d0156c1
remote: adding manifests
remote: adding file changes
remote: adding a revisions
remote: added 1 changesets with 1 changes to 1 files
remote: updating the branch cache
remote: running hook txnclose-phase.test: sh $TESTTMP/hook.sh
remote: phase-move: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b: draft -> public
remote: running hook txnclose-phase.test: sh $TESTTMP/hook.sh
remote: phase-move: ba677d0156c1196c1a699fa53f390dcfc3ce3872: -> public
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: running hook changegroup: sh -c "printenv.py --line changegroup 0"
remote: changegroup hook: HG_HOOKNAME=changegroup
remote: HG_HOOKTYPE=changegroup
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Joerg Sonnenberger
wireproto: allow direct stream processing for unbundle...
r37432 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
$ req "--debug --config server.streamunbundle=True --config extensions.blackbox="
Augie Fackler
tests: glob away fqdn wherever we print it...
r37610 listening at http://*:$HGPORT/ (bound to $LOCALIP:$HGPORT) (glob) (?)
Joerg Sonnenberger
wireproto: allow direct stream processing for unbundle...
r37432 pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: add changeset ba677d0156c1
remote: adding manifests
remote: adding file changes
remote: adding a revisions
remote: added 1 changesets with 1 changes to 1 files
remote: updating the branch cache
remote: running hook txnclose-phase.test: sh $TESTTMP/hook.sh
remote: phase-move: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b: draft -> public
remote: running hook txnclose-phase.test: sh $TESTTMP/hook.sh
remote: phase-move: ba677d0156c1196c1a699fa53f390dcfc3ce3872: -> public
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: running hook changegroup: sh -c "printenv.py --line changegroup 0"
remote: changegroup hook: HG_HOOKNAME=changegroup
remote: HG_HOOKTYPE=changegroup
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Joerg Sonnenberger
wireproto: allow direct stream processing for unbundle...
r37432 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
#endif
#if bundle2
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 $ cat >> .hg/hgrc <<EOF
> allow_push = *
> [hooks]
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 > changegroup = sh -c "printenv.py --line changegroup 0"
> pushkey = sh -c "printenv.py --line pushkey 0"
Matt Harbison
tests: adjust hooks for Windows...
r34939 > txnclose-phase.test = sh $TESTTMP/hook.sh
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 > EOF
Matt Mackall
tests: unify test-push-http
r12483 $ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Kevin Bullock
phases: pass phase names to hooks instead of internal values
r34877 remote: phase-move: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b: draft -> public
remote: phase-move: ba677d0156c1196c1a699fa53f390dcfc3ce3872: -> public
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: changegroup hook: HG_BUNDLE2=1
remote: HG_HOOKNAME=changegroup
remote: HG_HOOKTYPE=changegroup
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Matt Mackall
tests: unify test-push-http
r12483 % serve errors
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 0 (undo serve)
Joerg Sonnenberger
wireproto: allow direct stream processing for unbundle...
r37432 #endif
Matt Mackall
tests: unify test-push-http
r12483
Steven Brown
httprepo: long arguments support (issue2126)...
r14093 expect success, server lacks the httpheader capability
$ CAP=httpheader
$ . "$TESTDIR/notcapable"
$ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Kevin Bullock
phases: pass phase names to hooks instead of internal values
r34877 remote: phase-move: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b: draft -> public
remote: phase-move: ba677d0156c1196c1a699fa53f390dcfc3ce3872: -> public
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: changegroup hook: HG_HOOKNAME=changegroup (no-bundle2 !)
remote: changegroup hook: HG_BUNDLE2=1 (bundle2 !)
remote: HG_HOOKNAME=changegroup (bundle2 !)
remote: HG_HOOKTYPE=changegroup
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Steven Brown
httprepo: long arguments support (issue2126)...
r14093 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 expect success, server lacks the unbundlehash capability
Steven Brown
tests: add script to disable a selected wire protocol capability...
r14011 $ CAP=unbundlehash
$ . "$TESTDIR/notcapable"
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 $ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Kevin Bullock
phases: pass phase names to hooks instead of internal values
r34877 remote: phase-move: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b: draft -> public
remote: phase-move: ba677d0156c1196c1a699fa53f390dcfc3ce3872: -> public
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: changegroup hook: HG_HOOKNAME=changegroup (no-bundle2 !)
remote: changegroup hook: HG_BUNDLE2=1 (bundle2 !)
remote: HG_HOOKNAME=changegroup (bundle2 !)
remote: HG_HOOKTYPE=changegroup
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
Gregory Szorc
tests: port value-less unbundle capability test to test-push-http.t...
r36318 expect success, pre-d1b16a746db6 server supports the unbundle capability, but
has no parameter
$ cat <<EOF > notcapable-unbundleparam.py
> from mercurial import extensions, httppeer
> def capable(orig, self, name):
> if name == 'unbundle':
> return True
> return orig(self, name)
> def uisetup(ui):
> extensions.wrapfunction(httppeer.httppeer, 'capable', capable)
> EOF
$ cp $HGRCPATH $HGRCPATH.orig
$ cat <<EOF >> $HGRCPATH
> [extensions]
> notcapable-unbundleparam = `pwd`/notcapable-unbundleparam.py
> EOF
$ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
remote: phase-move: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b: draft -> public
remote: phase-move: ba677d0156c1196c1a699fa53f390dcfc3ce3872: -> public
remote: changegroup hook: * (glob)
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: HG_HOOKNAME=changegroup (bundle2 !)
remote: HG_HOOKTYPE=changegroup
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Gregory Szorc
tests: port value-less unbundle capability test to test-push-http.t...
r36318 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
$ mv $HGRCPATH.orig $HGRCPATH
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 Test pushing to a publishing repository with a failing prepushkey hook
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793
Adrian Buehlmann
test-push-http: fix failing test on Windows...
r17842 $ cat > .hg/hgrc <<EOF
> [web]
> push_ssl = false
> allow_push = *
> [hooks]
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 > prepushkey = sh -c "printenv.py --line prepushkey 1"
Boris Feld
phase: use a binary phase part to push through bundle2 (BC)...
r34837 > [devel]
> legacy.exchange=phases
Adrian Buehlmann
test-push-http: fix failing test on Windows...
r17842 > EOF
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319
#if bundle1
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 Bundle1 works because a) phases are updated as part of changegroup application
and b) client checks phases after the "unbundle" command. Since it sees no
phase changes are necessary, it doesn't send the "pushkey" command and the
prepushkey hook never has to fire.
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319
$ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
% serve errors
#endif
#if bundle2
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 Bundle2 sends a "pushkey" bundle2 part. This runs as part of the transaction
and fails the entire push.
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 $ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: prepushkey hook: HG_BUNDLE2=1
remote: HG_HOOKNAME=prepushkey
remote: HG_HOOKTYPE=prepushkey
remote: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NAMESPACE=phases
remote: HG_NEW=0
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_OLD=1
remote: HG_PENDING=$TESTTMP/test
remote: HG_PHASES_MOVED=1
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Pierre-Yves David
test: use bundle2 in test-push-http...
r25390 remote: pushkey-abort: prepushkey hook exited with status 1
Pierre-Yves David
phases: abort the whole push if phases fail to update (BC)...
r25502 remote: transaction abort!
remote: rollback completed
abort: updating ba677d0156c1 to public failed
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 % serve errors
Pierre-Yves David
phases: abort the whole push if phases fail to update (BC)...
r25502 [255]
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319 #endif
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 Now remove the failing prepushkey hook.
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 $ cat >> .hg/hgrc <<EOF
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319 > [hooks]
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 > prepushkey = sh -c "printenv.py --line prepushkey 0"
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 > EOF
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 We don't need to test bundle1 because it succeeded above.
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 #if bundle2
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319 $ req
pushing to http://localhost:$HGPORT/
searching for changes
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: prepushkey hook: HG_BUNDLE2=1
remote: HG_HOOKNAME=prepushkey
remote: HG_HOOKTYPE=prepushkey
remote: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NAMESPACE=phases
remote: HG_NEW=0
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_OLD=1
remote: HG_PENDING=$TESTTMP/test
remote: HG_PHASES_MOVED=1
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319 % serve errors
#endif
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 $ hg --config extensions.strip= strip -r 1:
saved backup bundle to $TESTTMP/test/.hg/strip-backup/ba677d0156c1-eea704d7-backup.hg
Now do a variant of the above, except on a non-publishing repository
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 $ cat >> .hg/hgrc <<EOF
> [phases]
> publish = false
> [hooks]
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 > prepushkey = sh -c "printenv.py --line prepushkey 1"
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 > EOF
#if bundle1
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 $ req
pushing to http://localhost:$HGPORT/
searching for changes
Pierre-Yves David
phases: abort the whole push if phases fail to update (BC)...
r25502 remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: prepushkey hook: HG_HOOKNAME=prepushkey
remote: HG_HOOKTYPE=prepushkey
remote: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NAMESPACE=phases
remote: HG_NEW=0
remote: HG_OLD=1
remote:
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 remote: pushkey-abort: prepushkey hook exited with status 1
updating ba677d0156c1 to public failed!
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 % serve errors
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 #endif
#if bundle2
$ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: prepushkey hook: HG_BUNDLE2=1
remote: HG_HOOKNAME=prepushkey
remote: HG_HOOKTYPE=prepushkey
remote: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NAMESPACE=phases
remote: HG_NEW=0
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_OLD=1
remote: HG_PENDING=$TESTTMP/test
remote: HG_PHASES_MOVED=1
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 remote: pushkey-abort: prepushkey hook exited with status 1
remote: transaction abort!
remote: rollback completed
abort: updating ba677d0156c1 to public failed
% serve errors
[255]
#endif
Make phases updates work
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 $ cat >> .hg/hgrc <<EOF
> [hooks]
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 > prepushkey = sh -c "printenv.py --line prepushkey 0"
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 > EOF
#if bundle1
$ req
pushing to http://localhost:$HGPORT/
searching for changes
no changes found
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: prepushkey hook: HG_HOOKNAME=prepushkey
remote: HG_HOOKTYPE=prepushkey
remote: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NAMESPACE=phases
remote: HG_NEW=0
remote: HG_OLD=1
remote:
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 % serve errors
[1]
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319 #endif
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 #if bundle2
$ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Boris Feld
test: use `printenv.py --line` in `test-push-http.t`...
r41791 remote: prepushkey hook: HG_BUNDLE2=1
remote: HG_HOOKNAME=prepushkey
remote: HG_HOOKTYPE=prepushkey
remote: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NAMESPACE=phases
remote: HG_NEW=0
remote: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872
remote: HG_OLD=1
remote: HG_PENDING=$TESTTMP/test
remote: HG_PHASES_MOVED=1
remote: HG_SOURCE=serve
remote: HG_TXNID=TXN:$ID$
remote: HG_URL=remote:http:$LOCALIP: (glob)
remote:
Gregory Szorc
tests: expand test coverage for updating phases...
r36320 % serve errors
#endif
$ hg --config extensions.strip= strip -r 1:
saved backup bundle to $TESTTMP/test/.hg/strip-backup/ba677d0156c1-eea704d7-backup.hg
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319 #if bundle2
Augie Fackler
http: add a test of actually pushing with httppostargs...
r33664 $ cat > .hg/hgrc <<EOF
> [web]
> push_ssl = false
> allow_push = *
> [experimental]
> httppostargs=true
> EOF
$ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
% serve errors
Gregory Szorc
tests: consolidate test-push-http.t and test-push-http-bundle1.t...
r36319 #endif
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..
Gregory Szorc
hgweb: reuse body file object when hgwebdir calls hgweb (issue5851)...
r37836
Pushing via hgwebdir works
$ hg init hgwebdir
$ cd hgwebdir
$ echo 0 > a
$ hg -q commit -A -m initial
$ cd ..
$ cat > web.conf << EOF
> [paths]
> / = *
> [web]
> push_ssl = false
> allow_push = *
> EOF
$ hg serve --web-conf web.conf -p $HGPORT -d --pid-file hg.pid
Yuya Nishihara
test-push-http: do not clear pid file...
r37842 $ cat hg.pid >> $DAEMON_PIDS
Gregory Szorc
hgweb: reuse body file object when hgwebdir calls hgweb (issue5851)...
r37836
$ hg clone http://localhost:$HGPORT/hgwebdir hgwebdir-local
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
new changesets 98a3f8f02ba7
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd hgwebdir-local
$ echo commit > a
$ hg commit -m 'local commit'
$ hg push
pushing to http://localhost:$HGPORT/hgwebdir
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
$ killdaemons.py
$ cd ..