tests/test-lfs-serve-access.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 15 Jan 2021 12:41:38 +0100
changeset 46314 95a615dd77bf
parent 46116 17a695357270
child 46633 7015b0232c5e
permissions -rw-r--r--
clone: make sure we warm the cache after a clone This work around any deviciency/limitation of the clone process. In our case this ensure the persistent nodemap exist with valid content. Ideally, the cloning process would also do "the right thing". However since older server will never be able to do "the right thing". The local workaround will be necessary anyway. I am not worried by the performance impact of this as `hg clone` is non-instant on large repositories where is could matters. Warming the cache if they are already correct is very fast. And if they are not already warm, this seems like a good time to do so. This impact various test as more cache are now warmed sooner, all the change should be harmless. Differential Revision: https://phab.mercurial-scm.org/D9789
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38021
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
37248
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 \
44274
87167caa2989 lfs: enable workers by default
Matt Harbison <matt_harbison@yahoo.com>
parents: 44122
diff changeset
    20
  >    --config experimental.lfs.worker-enable=False \
37248
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
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
    33
  abort: LFS HTTP error: HTTP Error 400: no such method: .git
40660
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
diff changeset
    34
  (check that lfs serving is enabled on http://localhost:$HGPORT/.git/info/lfs and "upload" is supported)
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
    35
  [50]
37248
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
37248
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: 40034
diff changeset
    47
  (remote is using large file support (lfs); lfs will be enabled for this repository)
37248
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
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
    55
  abort: LFS HTTP error: HTTP Error 400: no such method: .git
40660
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
diff changeset
    56
  (check that lfs serving is enabled on http://localhost:$HGPORT/.git/info/lfs and "download" is supported)
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
    57
  [50]
37248
dfb38c4850a9 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    58
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
    59
  $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
37248
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)
37248
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)
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 44274
diff changeset
    69
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Arev-branch-cache%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=525251863cad618e55d483555f3d00a2ca99597e&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
37248
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
40660
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
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: 40659
diff changeset
    79
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
diff changeset
    80
  $ hg -R httpclone update default --config lfs.url=http://localhost:$HGPORT/missing
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
    81
  abort: LFS HTTP error: HTTP Error 404: Not Found
40660
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
diff changeset
    82
  (the "lfs.url" config may be used to override http://localhost:$HGPORT/missing)
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
    83
  [50]
40660
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
diff changeset
    84
40661
380f5131ee7b lfs: handle URLErrors to add additional information
Matt Harbison <matt_harbison@yahoo.com>
parents: 40660
diff changeset
    85
  $ hg -R httpclone update default --config lfs.url=http://localhost:$HGPORT2/missing
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
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: 44412
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: 44412
diff changeset
    88
  abort: LFS error: No route to host (?)
40661
380f5131ee7b lfs: handle URLErrors to add additional information
Matt Harbison <matt_harbison@yahoo.com>
parents: 40660
diff changeset
    89
  (the "lfs.url" config may be used to override http://localhost:$HGPORT2/missing)
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
    90
  [50]
40661
380f5131ee7b lfs: handle URLErrors to add additional information
Matt Harbison <matt_harbison@yahoo.com>
parents: 40660
diff changeset
    91
40660
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
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: 40659
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: 40034
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
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37766
diff changeset
   113
  bundle2-input-part: "cache:rev-branch-cache" (advisory) supported
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   114
  bundle2-input-part: total payload size 39
42931
181ee2118a96 bundle2: fix an off-by-one in debug message of number of parts
Martin von Zweigbergk <martinvonz@google.com>
parents: 42897
diff changeset
   115
  bundle2-input-bundle: 4 parts total
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   116
  checking for updated bookmarks
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   117
  updating the branch cache
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41679
diff changeset
   118
  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
   119
  new changesets 525251863cad
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   120
  updating to branch default
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   121
  resolving manifests
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   122
   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
   123
   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
   124
  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
   125
  Status: 200
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   126
  Content-Length: 371
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   127
  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
   128
  Date: $HTTP_DATE$
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   129
  Server: testing stub value
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
    "objects": [
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   132
      {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   133
        "actions": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   134
          "download": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   135
            "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
   136
            "header": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   137
              "Accept": "application/vnd.git-lfs"
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
            "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
   140
          }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   141
        }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   142
        "oid": "f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   143
        "size": 20
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   144
      }
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
    "transfer": "basic"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   147
  }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   148
  lfs: downloading f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e (20 bytes)
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   149
  Status: 200
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   150
  Content-Length: 20
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   151
  Content-Type: application/octet-stream
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   152
  Date: $HTTP_DATE$
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   153
  Server: testing stub value
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   154
  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
   155
  lfs: processed: f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e
37765
ab04972a33ef lfs: enable the final download count status message
Matt Harbison <matt_harbison@yahoo.com>
parents: 37692
diff changeset
   156
  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
   157
   lfs.bin: remote created -> g
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   158
  getting lfs.bin
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   159
  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
   160
  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: 46116
diff changeset
   161
  updating the branch cache
40034
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39707
diff changeset
   162
  (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
   163
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
   164
  $ "$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
   165
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   166
  $ cat $TESTTMP/access.log $TESTTMP/errors.log
40660
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
diff changeset
   167
  $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
   168
  $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
   169
  $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)
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 44274
diff changeset
   170
  $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Arev-branch-cache%250Astream%253Dv2&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
   171
  $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
   172
  $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
   173
39457
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   174
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: 38239
diff changeset
   175
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: 38239
diff changeset
   176
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   177
  $ hg init server2
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   178
  $ 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: 38239
diff changeset
   179
  >    -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: 38239
diff changeset
   180
  >    -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: 38239
diff changeset
   181
  $ 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: 38239
diff changeset
   182
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   183
  $ 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: 38239
diff changeset
   184
  >    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: 38239
diff changeset
   185
  {
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   186
    "objects": [
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   187
      {
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   188
        "oid": "f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e"
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   189
        "size": 20
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   190
      }
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   191
    ]
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   192
    "transfer": "basic"
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   193
  }
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   194
  $ 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: 38239
diff changeset
   195
  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: 38239
diff changeset
   196
  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: 38239
diff changeset
   197
  server2/.hg/store/lfs/objects/f0/3217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
   198
  $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
39457
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   199
  $ 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: 38239
diff changeset
   200
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   201
  $ 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
   202
  > import errno
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   203
  > 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
   204
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   205
  > _numverifies = 0
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   206
  > _readerr = True
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   207
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   208
  > 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
   209
  >     # 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
   210
  >     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
   211
  >         return
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   212
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   213
  >     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
   214
  >     class badstore(store.__class__):
44085
0ee0a3f6a990 lfs: check content length after downloading content
Matt Harbison <matt_harbison@yahoo.com>
parents: 43804
diff changeset
   215
  >         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
   216
  >             '''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
   217
  >             PUT request.'''
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   218
  >             origread = src.read
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   219
  >             def _badread(nbytes):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   220
  >                 # 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
   221
  >                 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
   222
  >             src.read = _badread
44085
0ee0a3f6a990 lfs: check content length after downloading content
Matt Harbison <matt_harbison@yahoo.com>
parents: 43804
diff changeset
   223
  >             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
   224
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   225
  >         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
   226
  >             '''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
   227
  >             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
   228
  >             global _readerr
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   229
  >             # 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
   230
  >             if _readerr:
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   231
  >                 _readerr = False
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   232
  >                 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
   233
  >             # Simulate corrupt content on client download
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   234
  >             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
   235
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   236
  >         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
   237
  >             '''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
   238
  >             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
   239
  >             # 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
   240
  >             # 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
   241
  >             # 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
   242
  >             global _numverifies
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   243
  >             _numverifies += 1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   244
  >             if _numverifies <= 2:
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   245
  >                 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
   246
  >             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
   247
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   248
  >     store.__class__ = badstore
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   249
  > EOF
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   250
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   251
  $ 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
   252
  $ 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
   253
  $ 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
   254
  >    --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
   255
  >    -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
   256
  >    -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
   257
  $ 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
   258
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   259
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
   260
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   261
  $ 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: 40034
diff changeset
   262
  (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
   263
  requesting all changes
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   264
  adding changesets
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   265
  adding manifests
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   266
  adding file changes
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   267
  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
   268
  new changesets 525251863cad
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   269
  updating to branch default
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   270
  abort: LFS server error for "lfs.bin": Internal server error
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
   271
  [50]
37689
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
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
   274
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   275
  $ 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
   276
  $ 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
   277
  $ 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
   278
  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
   279
  searching for changes
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   280
  abort: LFS server error for "unknown": Internal server error
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
   281
  [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   282
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
   283
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   284
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
   285
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   286
  $ 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
   287
  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
   288
  searching for changes
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   289
  abort: LFS HTTP error: HTTP Error 422: corrupt blob (oid=b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c, action=upload)
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
   290
  [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   291
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   292
  $ 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
   293
  $ 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
   294
  >    -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
   295
  $ 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
   296
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   297
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
   298
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   299
  $ 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
   300
  >    -R client update -r tip
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   301
  abort: LFS HTTP error: HTTP Error 500: Internal Server Error (oid=276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d, action=download)
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
   302
  [50]
37689
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
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
   305
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   306
  $ 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
   307
  >    -R client update -r tip
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   308
  abort: LFS HTTP error: HTTP Error 422: corrupt blob (oid=276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d, action=download)
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
   309
  [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   310
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
   311
  $ "$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
   312
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   313
  $ 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
   314
  $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
   315
  $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)
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 44274
diff changeset
   316
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Arev-branch-cache%250Astream%253Dv2&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
   317
  $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
   318
  $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
   319
  $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
   320
  $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
   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$] "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
   323
  $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
   324
  $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
   325
  $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
   326
  $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
   327
  $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
   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$] "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
   330
  $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
   331
  $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
   332
  $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
   333
  $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
   334
  $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)
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 44274
diff changeset
   335
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Arev-branch-cache%250Astream%253Dv2&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
   336
  $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
   337
  $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
   338
  $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
   339
  $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
   340
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   341
  $ 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
   342
  $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
   343
  $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
   344
  $LOCALIP - - [$ERRDATE$] HG error:      verifies = store.verify(oid) (glob)
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   345
  $LOCALIP - - [$ERRDATE$] HG error:      raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8")) (glob)
43804
76d32a0edbc6 tests: remove hardcoded errno values
Paul Sonnenschein <paul@sonnenschein.ruhr>
parents: 43402
diff changeset
   346
  $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
   347
  $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
   348
  $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
   349
  $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
   350
  $LOCALIP - - [$ERRDATE$] HG error:      verifies = store.verify(oid) (glob)
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   351
  $LOCALIP - - [$ERRDATE$] HG error:      raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8")) (glob)
43804
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: 43804
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: 43804
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 !)
43401
09537caa87f9 py3: add Python 3 exception output to test-lfs-serve-access.t
Denis Laxalde <denis@laxalde.org>
parents: 43076
diff changeset
   360
  $LOCALIP - - [$ERRDATE$] HG error:  LfsCorruptionError: corrupt remote lfs object: b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c (no-py3 !)
43402
40bf3d7ecc42 py3: add a __str__ method to Abort
Denis Laxalde <denis@laxalde.org>
parents: 43401
diff changeset
   361
  $LOCALIP - - [$ERRDATE$] HG error:  hgext.lfs.blobstore.LfsCorruptionError: corrupt remote lfs object: b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c (py3 !)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
   362
  $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
   363
  $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
   364
  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
   365
      self.do_write()
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   366
      self.do_hgweb()
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   367
      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
   368
      for r in self._runwsgi(req, res, repo):
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 !)
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
   370
      return _processbasictransfer( (py38 !)
bf5a73243cd5 py3: conditionalize test-lfs-serve-access.t for Python 3.8
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44085
diff changeset
   371
      rctx, req, res, self.check_perm (no-py38 !)
41432
080a5c83914f py3: conditionalize some LFS test output
Matt Harbison <matt_harbison@yahoo.com>
parents: 41426
diff changeset
   372
      return func(*(args + a), **kw) (no-py3 !)
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.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
   374
      res.setbodybytes(localstore.read(oid))
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   375
      blob = self._read(self.vfs, oid, verify)
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   376
      raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8"))
43804
76d32a0edbc6 tests: remove hardcoded errno values
Paul Sonnenschein <paul@sonnenschein.ruhr>
parents: 43402
diff changeset
   377
  *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
   378
  
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
   379
  $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
   380
  $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
   381
  $LOCALIP - - [$ERRDATE$] HG error:      res.setbodybytes(localstore.read(oid)) (glob)
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:      blob = self._read(self.vfs, oid, verify) (glob)
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   383
  $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
   384
  $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
   385
  $LOCALIP - - [$ERRDATE$] HG error:      hint=_(b'run hg verify'), (glob) (no-py38 !)
43401
09537caa87f9 py3: add Python 3 exception output to test-lfs-serve-access.t
Denis Laxalde <denis@laxalde.org>
parents: 43076
diff changeset
   386
  $LOCALIP - - [$ERRDATE$] HG error:  LfsCorruptionError: detected corrupt lfs object: 276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d (no-py3 !)
43402
40bf3d7ecc42 py3: add a __str__ method to Abort
Denis Laxalde <denis@laxalde.org>
parents: 43401
diff changeset
   387
  $LOCALIP - - [$ERRDATE$] HG error:  hgext.lfs.blobstore.LfsCorruptionError: detected corrupt lfs object: 276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d (py3 !)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
   388
  $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
   389
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   390
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
   391
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
   392
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   393
  $ 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
   394
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   395
  $ 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
   396
  > [experimental]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   397
  > 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
   398
  > [auth]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   399
  > 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
   400
  > 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
   401
  > 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
   402
  > 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
   403
  > EOF
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   404
41585
549af2fa089f tests: extract the http server authentication extension to a single module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41432
diff changeset
   405
  $ 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
   406
  >    -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
   407
  >    -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
   408
  $ 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
   409
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   410
  $ 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
   411
  {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   412
    "objects": [
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
        "actions": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   415
          "download": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   416
            "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
   417
            "header": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   418
              "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
   419
              "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
   420
            }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   421
            "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
   422
          }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   423
        }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   424
        "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
   425
        "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
   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
    "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
   429
  }
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
  $ 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
   432
  $ hg -R auth_clone ci -Aqm 'add blob'
41607
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   433
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   434
  $ cat > use_digests.py << EOF
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   435
  > from mercurial import (
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   436
  >     exthelper,
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   437
  >     url,
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   438
  > )
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   439
  > 
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   440
  > eh = exthelper.exthelper()
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   441
  > uisetup = eh.finaluisetup
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   442
  > 
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   443
  > @eh.wrapfunction(url, 'opener')
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   444
  > def urlopener(orig, *args, **kwargs):
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   445
  >     opener = orig(*args, **kwargs)
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   446
  >     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: 41585
diff changeset
   447
  >     return opener
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   448
  > EOF
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   449
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   450
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: 41585
diff changeset
   451
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   452
  $ 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: 41585
diff changeset
   453
  pushing to http://localhost:$HGPORT1/
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   454
  searching for changes
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   455
  abort: LFS HTTP error: HTTP Error 401: the server must support Basic Authentication
41607
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   456
  (api=http://localhost:$HGPORT1/.git/info/lfs/objects/batch, action=upload)
46116
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
   457
  [50]
41607
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   458
37766
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   459
  $ 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
   460
  {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   461
    "objects": [
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   462
      {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   463
        "actions": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   464
          "upload": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   465
            "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
   466
            "header": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   467
              "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
   468
              "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
   469
            }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   470
            "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
   471
          }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   472
        }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   473
        "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
   474
        "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
   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
    "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
   478
  }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   479
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
   480
  $ "$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
   481
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   482
  $ 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
   483
  $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
   484
  $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
   485
  $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)
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 44274
diff changeset
   486
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%252C03%250Acheckheads%253Drelated%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Arev-branch-cache%250Astream%253Dv2&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
   487
  $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
   488
  $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
   489
  $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 200 - (glob)
41607
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   490
  $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: 41585
diff changeset
   491
  $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: 41585
diff changeset
   492
  $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: 41585
diff changeset
   493
  $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: 41585
diff changeset
   494
  $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: 41585
diff changeset
   495
  $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: 41585
diff changeset
   496
  $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: 41585
diff changeset
   497
  $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: 41585
diff changeset
   498
  $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: 41585
diff changeset
   499
  $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: 41585
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: 41585
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: 41585
diff changeset
   502
  $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
   503
  $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
   504
  $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
   505
  $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
   506
  $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
   507
  $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
   508
  $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
   509
  $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
   510
  $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
   511
  $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
   512
  $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
   513
  $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
   514
  $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)