annotate tests/test-lfs-serve-access.t @ 50703:af60de30fb50

clone-bundle: double check that inline clone bundle does not break local case Since there is a large NotImplementedError in the code, I prefer we have a double check here.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 19 Jun 2023 16:13:16 +0200
parents 2cf264e9aa75
children 7e5be4a7cda7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38063
538e850ae737 tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents: 37766
diff changeset
1 #require serve no-reposimplestore no-chg
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
2
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
3 $ cat >> $HGRCPATH <<EOF
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
4 > [extensions]
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
5 > lfs=
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
6 > [lfs]
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
7 > track=all()
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
8 > [web]
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
9 > push_ssl = False
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
10 > allow-push = *
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
11 > EOF
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
12
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
13 Serving LFS files can experimentally be turned off. The long term solution is
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
14 to support the 'verify' action in both client and server, so that the server can
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
15 tell the client to store files elsewhere.
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
16
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
17 $ hg init server
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
18 $ hg --config "lfs.usercache=$TESTTMP/servercache" \
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
19 > --config experimental.lfs.serve=False -R server serve -d \
44321
87167caa2989 lfs: enable workers by default
Matt Harbison <matt_harbison@yahoo.com>
parents: 44122
diff changeset
20 > --config experimental.lfs.worker-enable=False \
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
21 > -p $HGPORT --pid-file=hg.pid -A $TESTTMP/access.log -E $TESTTMP/errors.log
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
22 $ cat hg.pid >> $DAEMON_PIDS
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
23
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
24 Uploads fail...
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
25
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
26 $ hg init client
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
27 $ echo 'this-is-an-lfs-file' > client/lfs.bin
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
28 $ hg -R client ci -Am 'initial commit'
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
29 adding lfs.bin
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
30 $ hg -R client push http://localhost:$HGPORT
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
31 pushing to http://localhost:$HGPORT/
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
32 searching for changes
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
33 abort: LFS HTTP error: HTTP Error 400: no such method: .git
40701
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
34 (check that lfs serving is enabled on http://localhost:$HGPORT/.git/info/lfs and "upload" is supported)
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
35 [50]
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
36
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
37 ... so do a local push to make the data available. Remove the blob from the
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
38 default cache, so it attempts to download.
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
39 $ hg --config "lfs.usercache=$TESTTMP/servercache" \
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
40 > --config "lfs.url=null://" \
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
41 > -R client push -q server
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
42 $ mv `hg config lfs.usercache` $TESTTMP/servercache
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
43
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
44 Downloads fail...
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
45
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
46 $ hg clone http://localhost:$HGPORT httpclone
40324
6637b079ae45 lfs: autoload the extension when cloning from repo with lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
47 (remote is using large file support (lfs); lfs will be enabled for this repository)
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
48 requesting all changes
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
49 adding changesets
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
50 adding manifests
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
51 adding file changes
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
52 added 1 changesets with 1 changes to 1 files
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
53 new changesets 525251863cad
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
54 updating to branch default
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
55 abort: LFS HTTP error: HTTP Error 400: no such method: .git
40701
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
56 (check that lfs serving is enabled on http://localhost:$HGPORT/.git/info/lfs and "download" is supported)
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
57 [50]
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
58
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39474
diff changeset
59 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
60
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
61 $ cat $TESTTMP/access.log $TESTTMP/errors.log
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
62 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37348
diff changeset
63 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D525251863cad618e55d483555f3d00a2ca99597e x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37348
diff changeset
64 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37348
diff changeset
65 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
66 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 400 - (glob)
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
67 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37348
diff changeset
68 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
50415
2cf264e9aa75 configitems: enable changegroup3 by default (unless using infinitepush)
Matt Harbison <matt_harbison@yahoo.com>
parents: 50030
diff changeset
69 $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
37250
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
70 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 400 - (glob)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
71
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
72 $ rm -f $TESTTMP/access.log $TESTTMP/errors.log
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
73 $ hg --config "lfs.usercache=$TESTTMP/servercache" -R server serve -d \
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
74 > -p $HGPORT --pid-file=hg.pid --prefix=subdir/mount/point \
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
75 > -A $TESTTMP/access.log -E $TESTTMP/errors.log
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
76 $ cat hg.pid >> $DAEMON_PIDS
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
77
40701
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
78 Reasonable hint for a misconfigured blob server
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
79
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
80 $ hg -R httpclone update default --config lfs.url=http://localhost:$HGPORT/missing
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
81 abort: LFS HTTP error: HTTP Error 404: Not Found
40701
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
82 (the "lfs.url" config may be used to override http://localhost:$HGPORT/missing)
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
83 [50]
40701
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
84
40702
380f5131ee7b lfs: handle URLErrors to add additional information
Matt Harbison <matt_harbison@yahoo.com>
parents: 40701
diff changeset
85 $ hg -R httpclone update default --config lfs.url=http://localhost:$HGPORT2/missing
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
86 abort: LFS error: *onnection *refused* (glob) (?)
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
87 abort: LFS error: $EADDRNOTAVAIL$ (glob) (?)
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
88 abort: LFS error: No route to host (?)
40702
380f5131ee7b lfs: handle URLErrors to add additional information
Matt Harbison <matt_harbison@yahoo.com>
parents: 40701
diff changeset
89 (the "lfs.url" config may be used to override http://localhost:$HGPORT2/missing)
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
90 [50]
40702
380f5131ee7b lfs: handle URLErrors to add additional information
Matt Harbison <matt_harbison@yahoo.com>
parents: 40701
diff changeset
91
40701
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
92 Blob URIs are correct when --prefix is used
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
93
37691
d241e6632669 lfs: fix the inferred remote store path when using a --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37690
diff changeset
94 $ hg clone --debug http://localhost:$HGPORT/subdir/mount/point cloned2
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
95 using http://localhost:$HGPORT/subdir/mount/point
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
96 sending capabilities command
40324
6637b079ae45 lfs: autoload the extension when cloning from repo with lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
97 (remote is using large file support (lfs); lfs will be enabled for this repository)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
98 query 1; heads
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
99 sending batch command
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
100 requesting all changes
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
101 sending getbundle command
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
102 bundle2-input-bundle: with-transaction
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
103 bundle2-input-part: "changegroup" (params: 1 mandatory 1 advisory) supported
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
104 adding changesets
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
105 add changeset 525251863cad
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
106 adding manifests
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
107 adding file changes
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
108 adding lfs.bin revisions
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
109 bundle2-input-part: total payload size 648
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
110 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
111 bundle2-input-part: "phase-heads" supported
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
112 bundle2-input-part: total payload size 24
46672
7015b0232c5e exchange: stop advertising rev-branch-cache bundle capability
Joerg Sonnenberger <joerg@bec.de>
parents: 46314
diff changeset
113 bundle2-input-bundle: 3 parts total
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
114 checking for updated bookmarks
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
115 updating the branch cache
42903
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41690
diff changeset
116 added 1 changesets with 1 changes to 1 files
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
117 new changesets 525251863cad
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
118 updating to branch default
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
119 resolving manifests
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
120 branchmerge: False, force: False, partial: False
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
121 ancestor: 000000000000, local: 000000000000+, remote: 525251863cad
37691
d241e6632669 lfs: fix the inferred remote store path when using a --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37690
diff changeset
122 lfs: assuming remote store: http://localhost:$HGPORT/subdir/mount/point/.git/info/lfs
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
123 Status: 200
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
124 Content-Length: 371
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
125 Content-Type: application/vnd.git-lfs+json
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
126 Date: $HTTP_DATE$
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
127 Server: testing stub value
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
128 {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
129 "objects": [
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
130 {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
131 "actions": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
132 "download": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
133 "expires_at": "$ISO_8601_DATE_TIME$"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
134 "header": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
135 "Accept": "application/vnd.git-lfs"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
136 }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
137 "href": "http://localhost:$HGPORT/subdir/mount/point/.hg/lfs/objects/f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
138 }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
139 }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
140 "oid": "f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
141 "size": 20
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
142 }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
143 ]
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
144 "transfer": "basic"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
145 }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
146 lfs: downloading f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e (20 bytes)
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
147 Status: 200
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
148 Content-Length: 20
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
149 Content-Type: application/octet-stream
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
150 Date: $HTTP_DATE$
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
151 Server: testing stub value
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
152 lfs: adding f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e to the usercache
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
153 lfs: processed: f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e
37765
ab04972a33ef lfs: enable the final download count status message
Matt Harbison <matt_harbison@yahoo.com>
parents: 37692
diff changeset
154 lfs: downloaded 1 files (20 bytes)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
155 lfs.bin: remote created -> g
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
156 getting lfs.bin
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
157 lfs: found f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e in the local lfs store
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
158 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46117
diff changeset
159 updating the branch cache
40035
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39723
diff changeset
160 (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
161
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39474
diff changeset
162 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
163
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
164 $ cat $TESTTMP/access.log $TESTTMP/errors.log
40701
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40700
diff changeset
165 $LOCALIP - - [$LOGDATE$] "POST /missing/objects/batch HTTP/1.1" 404 - (glob)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
166 $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=capabilities HTTP/1.1" 200 - (glob)
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
167 $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
50415
2cf264e9aa75 configitems: enable changegroup3 by default (unless using infinitepush)
Matt Harbison <matt_harbison@yahoo.com>
parents: 50030
diff changeset
168 $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
169 $LOCALIP - - [$LOGDATE$] "POST /subdir/mount/point/.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
170 $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point/.hg/lfs/objects/f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e HTTP/1.1" 200 - (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
171
39474
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
172 Blobs that already exist in the usercache are linked into the repo store, even
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
173 though the client doesn't send the blob.
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
174
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
175 $ hg init server2
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
176 $ hg --config "lfs.usercache=$TESTTMP/servercache" -R server2 serve -d \
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
177 > -p $HGPORT --pid-file=hg.pid \
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
178 > -A $TESTTMP/access.log -E $TESTTMP/errors.log
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
179 $ cat hg.pid >> $DAEMON_PIDS
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
180
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
181 $ hg --config "lfs.usercache=$TESTTMP/servercache" -R cloned2 --debug \
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
182 > push http://localhost:$HGPORT | grep '^[{} ]'
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
183 {
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
184 "objects": [
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
185 {
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
186 "oid": "f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e"
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
187 "size": 20
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
188 }
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
189 ]
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
190 "transfer": "basic"
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
191 }
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
192 $ find server2/.hg/store/lfs/objects | sort
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
193 server2/.hg/store/lfs/objects
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
194 server2/.hg/store/lfs/objects/f0
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
195 server2/.hg/store/lfs/objects/f0/3217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39474
diff changeset
196 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
39474
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
197 $ cat $TESTTMP/errors.log
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
198
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
199 $ cat >> $TESTTMP/lfsstoreerror.py <<EOF
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
200 > import errno
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
201 > from hgext.lfs import blobstore
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
202 >
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
203 > _numverifies = 0
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
204 > _readerr = True
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
205 >
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
206 > def reposetup(ui, repo):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
207 > # Nothing to do with a remote repo
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
208 > if not repo.local():
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
209 > return
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
210 >
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
211 > store = repo.svfs.lfslocalblobstore
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
212 > class badstore(store.__class__):
44085
0ee0a3f6a990 lfs: check content length after downloading content
Matt Harbison <matt_harbison@yahoo.com>
parents: 43822
diff changeset
213 > def download(self, oid, src, contentlength):
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
214 > '''Called in the server to handle reading from the client in a
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
215 > PUT request.'''
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
216 > origread = src.read
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
217 > def _badread(nbytes):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
218 > # Simulate bad data/checksum failure from the client
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
219 > return b'0' * len(origread(nbytes))
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
220 > src.read = _badread
44085
0ee0a3f6a990 lfs: check content length after downloading content
Matt Harbison <matt_harbison@yahoo.com>
parents: 43822
diff changeset
221 > super(badstore, self).download(oid, src, contentlength)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
222 >
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
223 > def _read(self, vfs, oid, verify):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
224 > '''Called in the server to read data for a GET request, and then
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
225 > calls self._verify() on it before returning.'''
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
226 > global _readerr
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
227 > # One time simulation of a read error
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
228 > if _readerr:
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
229 > _readerr = False
41445
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41071
diff changeset
230 > raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8"))
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
231 > # Simulate corrupt content on client download
41445
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41071
diff changeset
232 > blobstore._verify(oid, b'dummy content')
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
233 >
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
234 > def verify(self, oid):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
235 > '''Called in the server to populate the Batch API response,
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
236 > letting the client re-upload if the file is corrupt.'''
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
237 > # Fail verify in Batch API for one clone command and one push
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
238 > # command with an IOError. Then let it through to access other
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
239 > # functions. Checksum failure is tested elsewhere.
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
240 > global _numverifies
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
241 > _numverifies += 1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
242 > if _numverifies <= 2:
41445
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41071
diff changeset
243 > raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8"))
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
244 > return super(badstore, self).verify(oid)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
245 >
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
246 > store.__class__ = badstore
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
247 > EOF
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
248
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
249 $ rm -rf `hg config lfs.usercache`
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
250 $ rm -f $TESTTMP/access.log $TESTTMP/errors.log
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
251 $ hg --config "lfs.usercache=$TESTTMP/servercache" \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
252 > --config extensions.lfsstoreerror=$TESTTMP/lfsstoreerror.py \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
253 > -R server serve -d \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
254 > -p $HGPORT1 --pid-file=hg.pid -A $TESTTMP/access.log -E $TESTTMP/errors.log
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
255 $ cat hg.pid >> $DAEMON_PIDS
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
256
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
257 Test an I/O error in localstore.verify() (Batch API) with GET
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
258
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
259 $ hg clone http://localhost:$HGPORT1 httpclone2
40324
6637b079ae45 lfs: autoload the extension when cloning from repo with lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
260 (remote is using large file support (lfs); lfs will be enabled for this repository)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
261 requesting all changes
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
262 adding changesets
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
263 adding manifests
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
264 adding file changes
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
265 added 1 changesets with 1 changes to 1 files
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
266 new changesets 525251863cad
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
267 updating to branch default
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
268 abort: LFS server error for "lfs.bin": Internal server error
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
269 [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
270
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
271 Test an I/O error in localstore.verify() (Batch API) with PUT
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
272
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
273 $ echo foo > client/lfs.bin
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
274 $ hg -R client ci -m 'mod lfs'
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
275 $ hg -R client push http://localhost:$HGPORT1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
276 pushing to http://localhost:$HGPORT1/
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
277 searching for changes
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
278 abort: LFS server error for "unknown": Internal server error
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
279 [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
280 TODO: figure out how to associate the file name in the error above
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
281
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
282 Test a bad checksum sent by the client in the transfer API
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
283
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
284 $ hg -R client push http://localhost:$HGPORT1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
285 pushing to http://localhost:$HGPORT1/
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
286 searching for changes
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
287 abort: LFS HTTP error: HTTP Error 422: corrupt blob (oid=b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c, action=upload)
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
288 [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
289
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
290 $ echo 'test lfs file' > server/lfs3.bin
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
291 $ hg --config experimental.lfs.disableusercache=True \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
292 > -R server ci -Aqm 'another lfs file'
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
293 $ hg -R client pull -q http://localhost:$HGPORT1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
294
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
295 Test an I/O error during the processing of the GET request
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
296
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
297 $ hg --config lfs.url=http://localhost:$HGPORT1/.git/info/lfs \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
298 > -R client update -r tip
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
299 abort: LFS HTTP error: HTTP Error 500: Internal Server Error (oid=276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d, action=download)
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
300 [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
301
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
302 Test a checksum failure during the processing of the GET request
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
303
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
304 $ hg --config lfs.url=http://localhost:$HGPORT1/.git/info/lfs \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
305 > -R client update -r tip
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
306 abort: LFS HTTP error: HTTP Error 422: corrupt blob (oid=276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d, action=download)
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
307 [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
308
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39474
diff changeset
309 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
310
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
311 $ cat $TESTTMP/access.log
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
312 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
313 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
50415
2cf264e9aa75 configitems: enable changegroup3 by default (unless using infinitepush)
Matt Harbison <matt_harbison@yahoo.com>
parents: 50030
diff changeset
314 $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
315 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
316 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
317 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D392c05922088bacf8e68a6939b480017afbf245d x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
318 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
319 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
320 $LOCALIP - - [$LOGDATE$] "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
321 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
322 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
323 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
324 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D392c05922088bacf8e68a6939b480017afbf245d x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
325 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
326 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
327 $LOCALIP - - [$LOGDATE$] "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
328 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
329 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
330 $LOCALIP - - [$LOGDATE$] "PUT /.hg/lfs/objects/b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c HTTP/1.1" 422 - (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
331 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
332 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D392c05922088bacf8e68a6939b480017afbf245d x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
50415
2cf264e9aa75 configitems: enable changegroup3 by default (unless using infinitepush)
Matt Harbison <matt_harbison@yahoo.com>
parents: 50030
diff changeset
333 $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=525251863cad618e55d483555f3d00a2ca99597e&heads=506bf3d83f78c54b89e81c6411adee19fdf02156+525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
334 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
335 $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 500 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
336 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
337 $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 422 - (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
338
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
339 $ grep -v ' File "' $TESTTMP/errors.log
37690
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
340 $LOCALIP - - [$ERRDATE$] HG error: Exception happened while processing request '/.git/info/lfs/objects/batch': (glob)
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
341 $LOCALIP - - [$ERRDATE$] HG error: Traceback (most recent call last): (glob)
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
342 $LOCALIP - - [$ERRDATE$] HG error: verifies = store.verify(oid) (glob)
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
343 $LOCALIP - - [$ERRDATE$] HG error: ^^^^^^^^^^^^^^^^^ (glob) (py311 !)
41445
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41071
diff changeset
344 $LOCALIP - - [$ERRDATE$] HG error: raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8")) (glob)
43822
76d32a0edbc6 tests: remove hardcoded errno values
Paul Sonnenschein <paul@sonnenschein.ruhr>
parents: 43402
diff changeset
345 $LOCALIP - - [$ERRDATE$] HG error: *Error: [Errno *] f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e: I/O error (glob)
37690
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
346 $LOCALIP - - [$ERRDATE$] HG error: (glob)
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
347 $LOCALIP - - [$ERRDATE$] HG error: Exception happened while processing request '/.git/info/lfs/objects/batch': (glob)
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
348 $LOCALIP - - [$ERRDATE$] HG error: Traceback (most recent call last): (glob)
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
349 $LOCALIP - - [$ERRDATE$] HG error: verifies = store.verify(oid) (glob)
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
350 $LOCALIP - - [$ERRDATE$] HG error: ^^^^^^^^^^^^^^^^^ (glob) (py311 !)
41445
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41071
diff changeset
351 $LOCALIP - - [$ERRDATE$] HG error: raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8")) (glob)
43822
76d32a0edbc6 tests: remove hardcoded errno values
Paul Sonnenschein <paul@sonnenschein.ruhr>
parents: 43402
diff changeset
352 $LOCALIP - - [$ERRDATE$] HG error: *Error: [Errno *] b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c: I/O error (glob)
37690
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
353 $LOCALIP - - [$ERRDATE$] HG error: (glob)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
354 $LOCALIP - - [$ERRDATE$] HG error: Exception happened while processing request '/.hg/lfs/objects/b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c': (glob)
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
355 $LOCALIP - - [$ERRDATE$] HG error: Traceback (most recent call last): (glob)
44085
0ee0a3f6a990 lfs: check content length after downloading content
Matt Harbison <matt_harbison@yahoo.com>
parents: 43822
diff changeset
356 $LOCALIP - - [$ERRDATE$] HG error: localstore.download(oid, req.bodyfh, req.headers[b'Content-Length'])
0ee0a3f6a990 lfs: check content length after downloading content
Matt Harbison <matt_harbison@yahoo.com>
parents: 43822
diff changeset
357 $LOCALIP - - [$ERRDATE$] HG error: super(badstore, self).download(oid, src, contentlength)
44122
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
358 $LOCALIP - - [$ERRDATE$] HG error: raise LfsCorruptionError( (glob) (py38 !)
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
359 $LOCALIP - - [$ERRDATE$] HG error: _(b'corrupt remote lfs object: %s') % oid (glob) (no-py38 !)
49956
950c39918bd2 tests: drop `(py3 !)` output matching predicates
Matt Harbison <matt_harbison@yahoo.com>
parents: 48965
diff changeset
360 $LOCALIP - - [$ERRDATE$] HG error: hgext.lfs.blobstore.LfsCorruptionError: corrupt remote lfs object: b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c (glob)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
361 $LOCALIP - - [$ERRDATE$] HG error: (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
362 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d': (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
363 Traceback (most recent call last):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
364 self.do_write()
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
365 self.do_hgweb()
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
366 for chunk in self.server.application(env, self._start_response):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
367 for r in self._runwsgi(req, res, repo):
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
368 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (py311 !)
44122
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
369 handled = wireprotoserver.handlewsgirequest( (py38 !)
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
370 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (py311 !)
44122
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
371 return _processbasictransfer( (py38 !)
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
372 ^^^^^^^^^^^^^^^^^^^^^^ (py311 !)
44122
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
373 rctx, req, res, self.check_perm (no-py38 !)
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
374 rctx.repo, req, res, lambda perm: checkperm(rctx, req, perm) (no-py38 !)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
375 res.setbodybytes(localstore.read(oid))
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
376 ^^^^^^^^^^^^^^^^^^^^ (py311 !)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
377 blob = self._read(self.vfs, oid, verify)
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
378 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (py311 !)
41445
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41071
diff changeset
379 raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8"))
43822
76d32a0edbc6 tests: remove hardcoded errno values
Paul Sonnenschein <paul@sonnenschein.ruhr>
parents: 43402
diff changeset
380 *Error: [Errno *] 276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d: I/O error (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
381
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
382 $LOCALIP - - [$ERRDATE$] HG error: Exception happened while processing request '/.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d': (glob)
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
383 $LOCALIP - - [$ERRDATE$] HG error: Traceback (most recent call last): (glob)
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
384 $LOCALIP - - [$ERRDATE$] HG error: res.setbodybytes(localstore.read(oid)) (glob)
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
385 $LOCALIP - - [$ERRDATE$] HG error: ^^^^^^^^^^^^^^^^^^^^ (glob) (py311 !)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
386 $LOCALIP - - [$ERRDATE$] HG error: blob = self._read(self.vfs, oid, verify) (glob)
49629
a20e3758f53c tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Anton Shestakov <av6@dwimlabs.net>
parents: 48965
diff changeset
387 $LOCALIP - - [$ERRDATE$] HG error: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (glob) (py311 !)
41445
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41071
diff changeset
388 $LOCALIP - - [$ERRDATE$] HG error: blobstore._verify(oid, b'dummy content') (glob)
44122
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
389 $LOCALIP - - [$ERRDATE$] HG error: raise LfsCorruptionError( (glob) (py38 !)
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
390 $LOCALIP - - [$ERRDATE$] HG error: hint=_(b'run hg verify'), (glob) (no-py38 !)
49956
950c39918bd2 tests: drop `(py3 !)` output matching predicates
Matt Harbison <matt_harbison@yahoo.com>
parents: 48965
diff changeset
391 $LOCALIP - - [$ERRDATE$] HG error: hgext.lfs.blobstore.LfsCorruptionError: detected corrupt lfs object: 276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d (glob)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
392 $LOCALIP - - [$ERRDATE$] HG error: (glob)
37766
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
393
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
394 Basic Authorization headers are returned by the Batch API, and sent back with
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
395 the GET/PUT request.
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
396
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
397 $ rm -f $TESTTMP/access.log $TESTTMP/errors.log
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
398
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
399 $ cat >> $HGRCPATH << EOF
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
400 > [experimental]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
401 > lfs.disableusercache = True
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
402 > [auth]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
403 > l.schemes=http
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
404 > l.prefix=lo
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
405 > l.username=user
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
406 > l.password=pass
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
407 > EOF
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
408
41598
549af2fa089f tests: extract the http server authentication extension to a single module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41454
diff changeset
409 $ hg --config extensions.x=$TESTDIR/httpserverauth.py \
37766
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
410 > -R server serve -d -p $HGPORT1 --pid-file=hg.pid \
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
411 > -A $TESTTMP/access.log -E $TESTTMP/errors.log
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
412 $ mv hg.pid $DAEMON_PIDS
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
413
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
414 $ hg clone --debug http://localhost:$HGPORT1 auth_clone | egrep '^[{}]| '
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
415 {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
416 "objects": [
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
417 {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
418 "actions": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
419 "download": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
420 "expires_at": "$ISO_8601_DATE_TIME$"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
421 "header": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
422 "Accept": "application/vnd.git-lfs"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
423 "Authorization": "Basic dXNlcjpwYXNz"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
424 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
425 "href": "http://localhost:$HGPORT1/.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
426 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
427 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
428 "oid": "276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
429 "size": 14
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
430 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
431 ]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
432 "transfer": "basic"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
433 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
434
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
435 $ echo 'another blob' > auth_clone/lfs.blob
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
436 $ hg -R auth_clone ci -Aqm 'add blob'
41620
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
437
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
438 $ cat > use_digests.py << EOF
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
439 > from mercurial import (
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
440 > exthelper,
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
441 > url,
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
442 > )
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
443 >
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
444 > eh = exthelper.exthelper()
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
445 > uisetup = eh.finaluisetup
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
446 >
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
447 > @eh.wrapfunction(url, 'opener')
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
448 > def urlopener(orig, *args, **kwargs):
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
449 > opener = orig(*args, **kwargs)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
450 > opener.addheaders.append((r'X-HgTest-AuthType', r'Digest'))
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
451 > return opener
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
452 > EOF
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
453
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
454 Test that Digest Auth fails gracefully before testing the successful Basic Auth
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
455
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
456 $ hg -R auth_clone push --config extensions.x=use_digests.py
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
457 pushing to http://localhost:$HGPORT1/
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
458 searching for changes
45921
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44439
diff changeset
459 abort: LFS HTTP error: HTTP Error 401: the server must support Basic Authentication
41620
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
460 (api=http://localhost:$HGPORT1/.git/info/lfs/objects/batch, action=upload)
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45921
diff changeset
461 [50]
41620
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
462
37766
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
463 $ hg -R auth_clone --debug push | egrep '^[{}]| '
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
464 {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
465 "objects": [
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
466 {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
467 "actions": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
468 "upload": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
469 "expires_at": "$ISO_8601_DATE_TIME$"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
470 "header": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
471 "Accept": "application/vnd.git-lfs"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
472 "Authorization": "Basic dXNlcjpwYXNz"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
473 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
474 "href": "http://localhost:$HGPORT1/.hg/lfs/objects/df14287d8d75f076a6459e7a3703ca583ca9fb3f4918caed10c77ac8622d49b3"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
475 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
476 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
477 "oid": "df14287d8d75f076a6459e7a3703ca583ca9fb3f4918caed10c77ac8622d49b3"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
478 "size": 13
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
479 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
480 ]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
481 "transfer": "basic"
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
482 }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
483
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39474
diff changeset
484 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
37766
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
485
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
486 $ cat $TESTTMP/access.log $TESTTMP/errors.log
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
487 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 401 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
488 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
489 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
50415
2cf264e9aa75 configitems: enable changegroup3 by default (unless using infinitepush)
Matt Harbison <matt_harbison@yahoo.com>
parents: 50030
diff changeset
490 $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=506bf3d83f78c54b89e81c6411adee19fdf02156+525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
37766
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
491 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 401 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
492 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
493 $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 200 - (glob)
41620
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
494 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 401 - x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
495 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
496 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 401 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D525251863cad618e55d483555f3d00a2ca99597e+4d9397055dc0c205f3132f331f36353ab1a525a3 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
497 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D525251863cad618e55d483555f3d00a2ca99597e+4d9397055dc0c205f3132f331f36353ab1a525a3 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
498 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
499 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
500 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
501 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
502 $LOCALIP - - [$LOGDATE$] "GET /?cmd=branchmap HTTP/1.1" 401 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
503 $LOCALIP - - [$LOGDATE$] "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
504 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 401 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
505 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull x-hgtest-authtype:Digest (glob)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41598
diff changeset
506 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 401 - x-hgtest-authtype:Digest (glob)
37766
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
507 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 401 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
508 $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
509 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D525251863cad618e55d483555f3d00a2ca99597e+4d9397055dc0c205f3132f331f36353ab1a525a3 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
510 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
511 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
512 $LOCALIP - - [$LOGDATE$] "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
513 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
514 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 401 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
515 $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
516 $LOCALIP - - [$LOGDATE$] "PUT /.hg/lfs/objects/df14287d8d75f076a6459e7a3703ca583ca9fb3f4918caed10c77ac8622d49b3 HTTP/1.1" 201 - (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
517 $LOCALIP - - [$LOGDATE$] "POST /?cmd=unbundle HTTP/1.1" 200 - x-hgarg-1:heads=666f726365 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
518 $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)