Mercurial > hg
annotate tests/test-http.t @ 32260:d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
For large enough repositories, pull-based clones take too long, and an attempt
to use them indicates some sort of configuration or other issue or maybe an
outdated Mercurial. Add a config option to disable them.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Thu, 11 May 2017 10:50:05 -0700 |
parents | 076f1ff43f0f |
children | 10e162bb9bf5 |
rev | line source |
---|---|
31936
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
1 #require killdaemons serve |
2612
ffb895f16925
add support for streaming clone.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
2 |
12446 | 3 $ hg init test |
4 $ cd test | |
5 $ echo foo>foo | |
6 $ mkdir foo.d foo.d/bAr.hg.d foo.d/baR.d.hg | |
7 $ echo foo>foo.d/foo | |
8 $ echo bar>foo.d/bAr.hg.d/BaR | |
9 $ echo bar>foo.d/baR.d.hg/bAR | |
10 $ hg commit -A -m 1 | |
11 adding foo | |
12 adding foo.d/bAr.hg.d/BaR | |
13 adding foo.d/baR.d.hg/bAR | |
14 adding foo.d/foo | |
13445
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
15 $ hg serve -p $HGPORT -d --pid-file=../hg1.pid -E ../error.log |
28549 | 16 $ hg serve --config server.uncompressed=False -p $HGPORT1 -d --pid-file=../hg2.pid |
12446 | 17 |
18 Test server address cannot be reused | |
4289
e17598881509
test-http: use printenv.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4130
diff
changeset
|
19 |
17023
3e2d8120528b
test-http and test-https: partially adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17018
diff
changeset
|
20 #if windows |
3e2d8120528b
test-http and test-https: partially adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17018
diff
changeset
|
21 $ hg serve -p $HGPORT1 2>&1 |
31768
49e9124cfc23
test-http: update output for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
31747
diff
changeset
|
22 abort: cannot start server at 'localhost:$HGPORT1': * (glob) |
17023
3e2d8120528b
test-http and test-https: partially adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17018
diff
changeset
|
23 [255] |
3e2d8120528b
test-http and test-https: partially adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17018
diff
changeset
|
24 #else |
12446 | 25 $ hg serve -p $HGPORT1 2>&1 |
31009
161ab32b44a1
runtests: set web.address to localhost
Jun Wu <quark@fb.com>
parents:
30914
diff
changeset
|
26 abort: cannot start server at 'localhost:$HGPORT1': Address already in use |
12446 | 27 [255] |
17023
3e2d8120528b
test-http and test-https: partially adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
17018
diff
changeset
|
28 #endif |
12446 | 29 $ cd .. |
30 $ cat hg1.pid hg2.pid >> $DAEMON_PIDS | |
31 | |
32 clone via stream | |
9506
49b62395e910
streamclone: partially encode filename over the wire, not for local read (issue1847)
Greg Ward <greg-hg@gerg.ca>
parents:
8167
diff
changeset
|
33 |
12446 | 34 $ hg clone --uncompressed http://localhost:$HGPORT/ copy 2>&1 |
35 streaming all changes | |
36 6 files to transfer, 606 bytes of data | |
14023
2cd1520664b8
tests: check for (*/sec) instead of (*B/sec) to match (X bytes/sec)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13445
diff
changeset
|
37 transferred * bytes in * seconds (*/sec) (glob) |
23116
2dc6b7917cdf
clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents:
22960
diff
changeset
|
38 searching for changes |
2dc6b7917cdf
clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents:
22960
diff
changeset
|
39 no changes found |
12446 | 40 updating to branch default |
41 4 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
42 $ hg verify -R copy | |
43 checking changesets | |
44 checking manifests | |
45 crosschecking files in changesets and manifests | |
46 checking files | |
47 4 files, 1 changesets, 4 total revisions | |
48 | |
49 try to clone via stream, should use pull instead | |
2612
ffb895f16925
add support for streaming clone.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
50 |
12446 | 51 $ hg clone --uncompressed http://localhost:$HGPORT1/ copy2 |
32259
076f1ff43f0f
clone: warn when streaming was requested but couldn't be performed
Siddharth Agarwal <sid0@fb.com>
parents:
32258
diff
changeset
|
52 warning: stream clone requested but server has them disabled |
12446 | 53 requesting all changes |
54 adding changesets | |
55 adding manifests | |
56 adding file changes | |
57 added 1 changesets with 4 changes to 4 files | |
58 updating to branch default | |
59 4 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
2612
ffb895f16925
add support for streaming clone.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
60 |
32258
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
61 try to clone via stream but missing requirements, so should use pull instead |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
62 |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
63 $ cat > $TESTTMP/removesupportedformat.py << EOF |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
64 > from mercurial import localrepo |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
65 > def extsetup(ui): |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
66 > localrepo.localrepository.supportedformats.remove('generaldelta') |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
67 > EOF |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
68 |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
69 $ hg clone --config extensions.rsf=$TESTTMP/removesupportedformat.py --uncompressed http://localhost:$HGPORT/ copy3 |
32259
076f1ff43f0f
clone: warn when streaming was requested but couldn't be performed
Siddharth Agarwal <sid0@fb.com>
parents:
32258
diff
changeset
|
70 warning: stream clone requested but client is missing requirements: generaldelta |
076f1ff43f0f
clone: warn when streaming was requested but couldn't be performed
Siddharth Agarwal <sid0@fb.com>
parents:
32258
diff
changeset
|
71 (see https://www.mercurial-scm.org/wiki/MissingRequirement for more information) |
32258
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
72 requesting all changes |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
73 adding changesets |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
74 adding manifests |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
75 adding file changes |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
76 added 1 changesets with 4 changes to 4 files |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
77 updating to branch default |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
78 4 files updated, 0 files merged, 0 files removed, 0 files unresolved |
9c60d93fd3ab
clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents:
32008
diff
changeset
|
79 |
12446 | 80 clone via pull |
2673
109a22f5434a
hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2622
diff
changeset
|
81 |
12446 | 82 $ hg clone http://localhost:$HGPORT1/ copy-pull |
83 requesting all changes | |
84 adding changesets | |
85 adding manifests | |
86 adding file changes | |
87 added 1 changesets with 4 changes to 4 files | |
88 updating to branch default | |
89 4 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
90 $ hg verify -R copy-pull | |
91 checking changesets | |
92 checking manifests | |
93 crosschecking files in changesets and manifests | |
94 checking files | |
95 4 files, 1 changesets, 4 total revisions | |
96 $ cd test | |
97 $ echo bar > bar | |
98 $ hg commit -A -d '1 0' -m 2 | |
99 adding bar | |
100 $ cd .. | |
2673
109a22f5434a
hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2622
diff
changeset
|
101 |
17342
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
102 clone over http with --update |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
103 |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
104 $ hg clone http://localhost:$HGPORT1/ updated --update 0 |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
105 requesting all changes |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
106 adding changesets |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
107 adding manifests |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
108 adding file changes |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
109 added 2 changesets with 5 changes to 5 files |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
110 updating to branch default |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
111 4 files updated, 0 files merged, 0 files removed, 0 files unresolved |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
112 $ hg log -r . -R updated |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
113 changeset: 0:8b6053c928fe |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
114 user: test |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
115 date: Thu Jan 01 00:00:00 1970 +0000 |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
116 summary: 1 |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
117 |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
118 $ rm -rf updated |
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
119 |
14161
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
120 incoming via HTTP |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
121 |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
122 $ hg clone http://localhost:$HGPORT1/ --rev 0 partial |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
123 adding changesets |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
124 adding manifests |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
125 adding file changes |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
126 added 1 changesets with 4 changes to 4 files |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
127 updating to branch default |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
128 4 files updated, 0 files merged, 0 files removed, 0 files unresolved |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
129 $ cd partial |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
130 $ touch LOCAL |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
131 $ hg ci -qAm LOCAL |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
132 $ hg incoming http://localhost:$HGPORT1/ --template '{desc}\n' |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
133 comparing with http://localhost:$HGPORT1/ |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
134 searching for changes |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
135 2 |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
136 $ cd .. |
8a0fca925992
bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14023
diff
changeset
|
137 |
12446 | 138 pull |
139 | |
140 $ cd copy-pull | |
30234
34a5f6c66bc5
tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29564
diff
changeset
|
141 $ cat >> .hg/hgrc <<EOF |
34a5f6c66bc5
tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29564
diff
changeset
|
142 > [hooks] |
34a5f6c66bc5
tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29564
diff
changeset
|
143 > changegroup = sh -c "printenv.py changegroup" |
34a5f6c66bc5
tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29564
diff
changeset
|
144 > EOF |
12446 | 145 $ hg pull |
12643
d08bb64888bc
tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12446
diff
changeset
|
146 pulling from http://localhost:$HGPORT1/ |
12446 | 147 searching for changes |
148 adding changesets | |
149 adding manifests | |
150 adding file changes | |
151 added 1 changesets with 1 changes to 1 files | |
31747
aff7b32b3c05
hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31746
diff
changeset
|
152 changegroup hook: HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_NODE_LAST=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_URL=http://localhost:$HGPORT1/ |
12446 | 153 (run 'hg update' to get a working copy) |
154 $ cd .. | |
13445
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
155 |
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
156 clone from invalid URL |
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
157 |
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
158 $ hg clone http://localhost:$HGPORT/bad |
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
159 abort: HTTP Error 404: Not Found |
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
160 [255] |
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
161 |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
162 test http authentication |
16361
6097ede2be4d
protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents:
15446
diff
changeset
|
163 + use the same server to test server side streaming preference |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
164 |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
165 $ cd test |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
166 $ cat << EOT > userpass.py |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
167 > import base64 |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
168 > from mercurial.hgweb import common |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
169 > def perform_authentication(hgweb, req, op): |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
170 > auth = req.env.get('HTTP_AUTHORIZATION') |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
171 > if not auth: |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
172 > raise common.ErrorResponse(common.HTTP_UNAUTHORIZED, 'who', |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
173 > [('WWW-Authenticate', 'Basic Realm="mercurial"')]) |
17342
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
174 > if base64.b64decode(auth.split()[1]).split(':', 1) != ['user', 'pass']: |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
175 > raise common.ErrorResponse(common.HTTP_FORBIDDEN, 'no') |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
176 > def extsetup(): |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
177 > common.permhooks.insert(0, perform_authentication) |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
178 > EOT |
28549 | 179 $ hg serve --config extensions.x=userpass.py -p $HGPORT2 -d --pid-file=pid \ |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
180 > --config server.preferuncompressed=True \ |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
181 > --config web.push_ssl=False --config web.allow_push=* -A ../access.log |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
182 $ cat pid >> $DAEMON_PIDS |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
183 |
20291
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
184 $ cat << EOF > get_pass.py |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
185 > import getpass |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
186 > def newgetpass(arg): |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
187 > return "pass" |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
188 > getpass.getpass = newgetpass |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
189 > EOF |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
190 |
17342
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
191 $ hg id http://localhost:$HGPORT2/ |
20291
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
192 abort: http authorization required for http://localhost:$HGPORT2/ |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
193 [255] |
20291
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
194 $ hg id http://localhost:$HGPORT2/ |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
195 abort: http authorization required for http://localhost:$HGPORT2/ |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
196 [255] |
20291
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
197 $ hg id --config ui.interactive=true --config extensions.getpass=get_pass.py http://user@localhost:$HGPORT2/ |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
198 http authorization required for http://localhost:$HGPORT2/ |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
199 realm: mercurial |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
200 user: user |
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
201 password: 5fed3813f7f5 |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
202 $ hg id http://user:pass@localhost:$HGPORT2/ |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
203 5fed3813f7f5 |
17342
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
204 $ echo '[auth]' >> .hg/hgrc |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
205 $ echo 'l.schemes=http' >> .hg/hgrc |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
206 $ echo 'l.prefix=lo' >> .hg/hgrc |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
207 $ echo 'l.username=user' >> .hg/hgrc |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
208 $ echo 'l.password=pass' >> .hg/hgrc |
17342
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
209 $ hg id http://localhost:$HGPORT2/ |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
210 5fed3813f7f5 |
17342
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
211 $ hg id http://localhost:$HGPORT2/ |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
212 5fed3813f7f5 |
17342
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
213 $ hg id http://user@localhost:$HGPORT2/ |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
214 5fed3813f7f5 |
16361
6097ede2be4d
protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents:
15446
diff
changeset
|
215 $ hg clone http://user:pass@localhost:$HGPORT2/ dest 2>&1 |
6097ede2be4d
protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents:
15446
diff
changeset
|
216 streaming all changes |
6097ede2be4d
protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents:
15446
diff
changeset
|
217 7 files to transfer, 916 bytes of data |
6097ede2be4d
protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents:
15446
diff
changeset
|
218 transferred * bytes in * seconds (*/sec) (glob) |
23116
2dc6b7917cdf
clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents:
22960
diff
changeset
|
219 searching for changes |
2dc6b7917cdf
clone: fix copying bookmarks in uncompressed clones (issue4430)
Durham Goode <durham@fb.com>
parents:
22960
diff
changeset
|
220 no changes found |
16361
6097ede2be4d
protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents:
15446
diff
changeset
|
221 updating to branch default |
6097ede2be4d
protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents:
15446
diff
changeset
|
222 5 files updated, 0 files merged, 0 files removed, 0 files unresolved |
23546
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
223 --pull should override server's preferuncompressed |
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
224 $ hg clone --pull http://user:pass@localhost:$HGPORT2/ dest-pull 2>&1 |
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
225 requesting all changes |
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
226 adding changesets |
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
227 adding manifests |
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
228 adding file changes |
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
229 added 2 changesets with 5 changes to 5 files |
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
230 updating to branch default |
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
231 5 files updated, 0 files merged, 0 files removed, 0 files unresolved |
16361
6097ede2be4d
protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents:
15446
diff
changeset
|
232 |
17342
471f30d360ea
clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents:
17260
diff
changeset
|
233 $ hg id http://user2@localhost:$HGPORT2/ |
20291
7d589d923b8a
url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
17342
diff
changeset
|
234 abort: http authorization required for http://localhost:$HGPORT2/ |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
235 [255] |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
236 $ hg id http://user:pass2@localhost:$HGPORT2/ |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
237 abort: HTTP Error 403: no |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
238 [255] |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
239 |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
240 $ hg -R dest tag -r tip top |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
241 $ hg -R dest push http://user:pass@localhost:$HGPORT2/ |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
242 pushing to http://user:***@localhost:$HGPORT2/ |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
243 searching for changes |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
244 remote: adding changesets |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
245 remote: adding manifests |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
246 remote: adding file changes |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
247 remote: added 1 changesets with 1 changes to 1 files |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
248 $ hg rollback -q |
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
249 |
29564
db565a506729
test-http: use sed instead of fixed-with cut for reading access.log
Augie Fackler <augie@google.com>
parents:
29064
diff
changeset
|
250 $ sed 's/.*] "/"/' < ../access.log |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
251 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
252 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
253 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
254 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
255 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
256 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
257 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
258 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
259 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
260 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
261 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
262 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
263 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
264 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
265 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
266 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
267 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
268 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
269 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
270 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
271 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
272 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
273 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
274 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
275 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
276 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
277 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
278 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
279 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
280 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
281 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
282 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
283 "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
284 "GET /?cmd=stream_out HTTP/1.1" 401 - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
285 "GET /?cmd=stream_out HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
286 "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D5fed3813f7f5e1824344fdc9cf8f63bb662c292d x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
287 "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phases%2Cbookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
288 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
289 "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
290 "GET /?cmd=getbundle HTTP/1.1" 401 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phases%2Cbookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
291 "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=phases%2Cbookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
23546
deabbe7ed54b
localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents:
23116
diff
changeset
|
292 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
293 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
294 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
295 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
296 "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
297 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
298 "GET /?cmd=listkeys HTTP/1.1" 403 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
299 "GET /?cmd=capabilities HTTP/1.1" 200 - |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
300 "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D7f4e523d01f2cc3765ac8934da3d14db775ff872 x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
301 "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
302 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
303 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
304 "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
305 "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
306 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
28996 | 307 "POST /?cmd=unbundle HTTP/1.1" 200 - x-hgarg-1:heads=666f726365* (glob) |
30763
a520aefb96f1
httppeer: advertise and support application/mercurial-0.2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30234
diff
changeset
|
308 "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) |
20385
54235a6ff98a
tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents:
20384
diff
changeset
|
309 |
15026
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
310 $ cd .. |
f32a2989ff58
test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents:
14161
diff
changeset
|
311 |
15055
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
312 clone of serve with repo in root and unserved subrepo (issue2970) |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
313 |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
314 $ hg --cwd test init sub |
17260
e432fb4b4221
tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents:
17023
diff
changeset
|
315 $ echo empty > test/sub/empty |
e432fb4b4221
tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents:
17023
diff
changeset
|
316 $ hg --cwd test/sub add empty |
e432fb4b4221
tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents:
17023
diff
changeset
|
317 $ hg --cwd test/sub commit -qm 'add empty' |
e432fb4b4221
tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents:
17023
diff
changeset
|
318 $ hg --cwd test/sub tag -r 0 something |
15055
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
319 $ echo sub = sub > test/.hgsub |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
320 $ hg --cwd test add .hgsub |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
321 $ hg --cwd test commit -qm 'add subrepo' |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
322 $ hg clone http://localhost:$HGPORT noslash-clone |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
323 requesting all changes |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
324 adding changesets |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
325 adding manifests |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
326 adding file changes |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
327 added 3 changesets with 7 changes to 7 files |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
328 updating to branch default |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
329 abort: HTTP Error 404: Not Found |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
330 [255] |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
331 $ hg clone http://localhost:$HGPORT/ slash-clone |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
332 requesting all changes |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
333 adding changesets |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
334 adding manifests |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
335 adding file changes |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
336 added 3 changesets with 7 changes to 7 files |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
337 updating to branch default |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
338 abort: HTTP Error 404: Not Found |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
339 [255] |
d629f1e89021
subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents:
15026
diff
changeset
|
340 |
13445
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
341 check error log |
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
342 |
61a898576888
hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents:
13439
diff
changeset
|
343 $ cat error.log |
30914
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
344 |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
345 check abort error reporting while pulling/cloning |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
346 |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
347 $ $RUNTESTDIR/killdaemons.py |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
348 $ hg -R test serve -p $HGPORT -d --pid-file=hg3.pid -E error.log --config extensions.crash=${TESTDIR}/crashgetbundler.py |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
349 $ cat hg3.pid >> $DAEMON_PIDS |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
350 $ hg clone http://localhost:$HGPORT/ abort-clone |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
351 requesting all changes |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
352 remote: abort: this is an exercise |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
353 abort: pull failed on remote |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
354 [255] |
f3807a135e43
wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30763
diff
changeset
|
355 $ cat error.log |
31936
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
356 |
32260
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
357 disable pull-based clones |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
358 |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
359 $ hg -R test serve -p $HGPORT1 -d --pid-file=hg4.pid -E error.log --config server.disablefullbundle=True |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
360 $ cat hg4.pid >> $DAEMON_PIDS |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
361 $ hg clone http://localhost:$HGPORT1/ disable-pull-clone |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
362 requesting all changes |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
363 remote: abort: server has pull-based clones disabled |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
364 abort: pull failed on remote |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
365 (remove --pull if specified or upgrade Mercurial) |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
366 [255] |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
367 |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
368 ... but keep stream clones working |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
369 |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
370 $ hg clone --uncompressed --noupdate http://localhost:$HGPORT1/ test-stream-clone |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
371 streaming all changes |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
372 * files to transfer, * of data (glob) |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
373 transferred * in * seconds (*/sec) (glob) |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
374 searching for changes |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
375 no changes found |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
376 $ cat error.log |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
377 |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
378 ... and also keep partial clones and pulls working |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
379 $ hg clone http://localhost:$HGPORT1 --rev 0 test-partial-clone |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
380 adding changesets |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
381 adding manifests |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
382 adding file changes |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
383 added 1 changesets with 4 changes to 4 files |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
384 updating to branch default |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
385 4 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
386 $ hg pull -R test-partial-clone |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
387 pulling from http://localhost:$HGPORT1/ |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
388 searching for changes |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
389 adding changesets |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
390 adding manifests |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
391 adding file changes |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
392 added 2 changesets with 3 changes to 3 files |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
393 (run 'hg update' to get a working copy) |
d0d9a4fca59b
clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents:
32259
diff
changeset
|
394 |
31936
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
395 corrupt cookies file should yield a warning |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
396 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
397 $ cat > $TESTTMP/cookies.txt << EOF |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
398 > bad format |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
399 > EOF |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
400 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
401 $ hg --config auth.cookiefile=$TESTTMP/cookies.txt id http://localhost:$HGPORT/ |
32008
9a782e7e651e
test-http: add a (glob) for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
31936
diff
changeset
|
402 (error loading cookie file $TESTTMP/cookies.txt: '*/cookies.txt' does not look like a Netscape format cookies file; continuing without cookies) (glob) |
31936
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
403 56f9bc90cce6 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
404 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
405 $ killdaemons.py |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
406 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
407 Create dummy authentication handler that looks for cookies. It doesn't do anything |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
408 useful. It just raises an HTTP 500 with details about the Cookie request header. |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
409 We raise HTTP 500 because its message is printed in the abort message. |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
410 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
411 $ cat > cookieauth.py << EOF |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
412 > from mercurial import util |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
413 > from mercurial.hgweb import common |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
414 > def perform_authentication(hgweb, req, op): |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
415 > cookie = req.env.get('HTTP_COOKIE') |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
416 > if not cookie: |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
417 > raise common.ErrorResponse(common.HTTP_SERVER_ERROR, 'no-cookie') |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
418 > raise common.ErrorResponse(common.HTTP_SERVER_ERROR, 'Cookie: %s' % cookie) |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
419 > def extsetup(): |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
420 > common.permhooks.insert(0, perform_authentication) |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
421 > EOF |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
422 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
423 $ hg serve --config extensions.cookieauth=cookieauth.py -R test -p $HGPORT -d --pid-file=pid |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
424 $ cat pid > $DAEMON_PIDS |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
425 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
426 Request without cookie sent should fail due to lack of cookie |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
427 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
428 $ hg id http://localhost:$HGPORT |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
429 abort: HTTP Error 500: no-cookie |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
430 [255] |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
431 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
432 Populate a cookies file |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
433 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
434 $ cat > cookies.txt << EOF |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
435 > # HTTP Cookie File |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
436 > # Expiration is 2030-01-01 at midnight |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
437 > .example.com TRUE / FALSE 1893456000 hgkey examplevalue |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
438 > EOF |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
439 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
440 Should not send a cookie for another domain |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
441 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
442 $ hg --config auth.cookiefile=cookies.txt id http://localhost:$HGPORT/ |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
443 abort: HTTP Error 500: no-cookie |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
444 [255] |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
445 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
446 Add a cookie entry for our test server and verify it is sent |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
447 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
448 $ cat >> cookies.txt << EOF |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
449 > localhost.local FALSE / FALSE 1893456000 hgkey localhostvalue |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
450 > EOF |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
451 |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
452 $ hg --config auth.cookiefile=cookies.txt id http://localhost:$HGPORT/ |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
453 abort: HTTP Error 500: Cookie: hgkey=localhostvalue |
806f9a883b4f
url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31768
diff
changeset
|
454 [255] |