tests/test-lfs-serve-access.t
author Simon Sapin <simon.sapin@octobus.net>
Fri, 10 Sep 2021 09:53:09 +0200
changeset 47955 e834b79def74
parent 46633 7015b0232c5e
child 48874 af0b21d5a930
permissions -rw-r--r--
rust: Switch to the memmap2-rs crate https://github.com/RazrFalcon/memmap2-rs This is a fork of the original memmap crate which appears to be unmaintained: https://github.com/danburkert/memmap-rs/issues/90 This fork is the most popular according to https://crates.io/keywords/mmap Differential Revision: https://phab.mercurial-scm.org/D11397
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)
46633
7015b0232c5e exchange: stop advertising rev-branch-cache bundle capability
Joerg Sonnenberger <joerg@bec.de>
parents: 46314
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%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
46633
7015b0232c5e exchange: stop advertising rev-branch-cache bundle capability
Joerg Sonnenberger <joerg@bec.de>
parents: 46314
diff changeset
   113
  bundle2-input-bundle: 3 parts total
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   114
  checking for updated bookmarks
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   115
  updating the branch cache
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41679
diff changeset
   116
  added 1 changesets with 1 changes to 1 files
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   117
  new changesets 525251863cad
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   118
  updating to branch default
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   119
  resolving manifests
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   120
   branchmerge: False, force: False, partial: False
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   121
   ancestor: 000000000000, local: 000000000000+, remote: 525251863cad
37691
d241e6632669 lfs: fix the inferred remote store path when using a --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37690
diff changeset
   122
  lfs: assuming remote store: http://localhost:$HGPORT/subdir/mount/point/.git/info/lfs
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   123
  Status: 200
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   124
  Content-Length: 371
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   125
  Content-Type: application/vnd.git-lfs+json
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   126
  Date: $HTTP_DATE$
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   127
  Server: testing stub value
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   128
  {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   129
    "objects": [
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   130
      {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   131
        "actions": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   132
          "download": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   133
            "expires_at": "$ISO_8601_DATE_TIME$"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   134
            "header": {
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   135
              "Accept": "application/vnd.git-lfs"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   136
            }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   137
            "href": "http://localhost:$HGPORT/subdir/mount/point/.hg/lfs/objects/f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   138
          }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   139
        }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   140
        "oid": "f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   141
        "size": 20
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   142
      }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   143
    ]
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   144
    "transfer": "basic"
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   145
  }
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   146
  lfs: downloading f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e (20 bytes)
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   147
  Status: 200
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   148
  Content-Length: 20
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   149
  Content-Type: application/octet-stream
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   150
  Date: $HTTP_DATE$
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   151
  Server: testing stub value
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   152
  lfs: adding f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e to the usercache
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   153
  lfs: processed: f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e
37765
ab04972a33ef lfs: enable the final download count status message
Matt Harbison <matt_harbison@yahoo.com>
parents: 37692
diff changeset
   154
  lfs: downloaded 1 files (20 bytes)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   155
   lfs.bin: remote created -> g
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   156
  getting lfs.bin
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   157
  lfs: found f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e in the local lfs store
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   158
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46116
diff changeset
   159
  updating the branch cache
40034
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39707
diff changeset
   160
  (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   161
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
   162
  $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   163
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   164
  $ cat $TESTTMP/access.log $TESTTMP/errors.log
40660
9f78d10742af lfs: improve the hints for common errors in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 40659
diff changeset
   165
  $LOCALIP - - [$LOGDATE$] "POST /missing/objects/batch HTTP/1.1" 404 - (glob)
37617
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   166
  $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=capabilities HTTP/1.1" 200 - (glob)
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   167
  $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
46633
7015b0232c5e exchange: stop advertising rev-branch-cache bundle capability
Joerg Sonnenberger <joerg@bec.de>
parents: 46314
diff changeset
   168
  $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%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
   169
  $LOCALIP - - [$LOGDATE$] "POST /subdir/mount/point/.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
b03f2e0fdb88 lfs: teach the blob server to handle --prefix
Matt Harbison <matt_harbison@yahoo.com>
parents: 37556
diff changeset
   170
  $LOCALIP - - [$LOGDATE$] "GET /subdir/mount/point/.hg/lfs/objects/f03217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e HTTP/1.1" 200 - (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   171
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
   172
Blobs that already exist in the usercache are linked into the repo store, even
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   173
though the client doesn't send the blob.
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   174
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
  $ 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
   176
  $ hg --config "lfs.usercache=$TESTTMP/servercache" -R server2 serve -d \
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   177
  >    -p $HGPORT --pid-file=hg.pid \
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   178
  >    -A $TESTTMP/access.log -E $TESTTMP/errors.log
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   179
  $ cat hg.pid >> $DAEMON_PIDS
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   180
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
  $ 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
   182
  >    push http://localhost:$HGPORT | grep '^[{} ]'
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   183
  {
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
    "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
   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
        "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
   187
        "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
   188
      }
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
    ]
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
    "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
   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
  $ 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
   193
  server2/.hg/store/lfs/objects
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   194
  server2/.hg/store/lfs/objects/f0
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   195
  server2/.hg/store/lfs/objects/f0/3217a32529a28a42d03b1244fe09b6e0f9fd06d7b966d4d50567be2abe6c0e
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
   196
  $ "$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
   197
  $ cat $TESTTMP/errors.log
a913d2892e17 lfs: ensure the blob is linked to the remote store on skipped uploads
Matt Harbison <matt_harbison@yahoo.com>
parents: 38239
diff changeset
   198
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   199
  $ cat >> $TESTTMP/lfsstoreerror.py <<EOF
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   200
  > import errno
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   201
  > from hgext.lfs import blobstore
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   202
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   203
  > _numverifies = 0
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   204
  > _readerr = True
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   205
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   206
  > def reposetup(ui, repo):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   207
  >     # Nothing to do with a remote repo
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   208
  >     if not repo.local():
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   209
  >         return
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   210
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   211
  >     store = repo.svfs.lfslocalblobstore
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   212
  >     class badstore(store.__class__):
44085
0ee0a3f6a990 lfs: check content length after downloading content
Matt Harbison <matt_harbison@yahoo.com>
parents: 43804
diff changeset
   213
  >         def download(self, oid, src, contentlength):
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   214
  >             '''Called in the server to handle reading from the client in a
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   215
  >             PUT request.'''
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   216
  >             origread = src.read
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   217
  >             def _badread(nbytes):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   218
  >                 # Simulate bad data/checksum failure from the client
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   219
  >                 return b'0' * len(origread(nbytes))
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   220
  >             src.read = _badread
44085
0ee0a3f6a990 lfs: check content length after downloading content
Matt Harbison <matt_harbison@yahoo.com>
parents: 43804
diff changeset
   221
  >             super(badstore, self).download(oid, src, contentlength)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   222
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   223
  >         def _read(self, vfs, oid, verify):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   224
  >             '''Called in the server to read data for a GET request, and then
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   225
  >             calls self._verify() on it before returning.'''
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   226
  >             global _readerr
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   227
  >             # One time simulation of a read error
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   228
  >             if _readerr:
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   229
  >                 _readerr = False
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   230
  >                 raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8"))
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   231
  >             # Simulate corrupt content on client download
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   232
  >             blobstore._verify(oid, b'dummy content')
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   233
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   234
  >         def verify(self, oid):
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   235
  >             '''Called in the server to populate the Batch API response,
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   236
  >             letting the client re-upload if the file is corrupt.'''
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   237
  >             # Fail verify in Batch API for one clone command and one push
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   238
  >             # command with an IOError.  Then let it through to access other
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   239
  >             # functions.  Checksum failure is tested elsewhere.
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   240
  >             global _numverifies
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   241
  >             _numverifies += 1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   242
  >             if _numverifies <= 2:
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   243
  >                 raise IOError(errno.EIO, r'%s: I/O error' % oid.decode("utf-8"))
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   244
  >             return super(badstore, self).verify(oid)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   245
  > 
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   246
  >     store.__class__ = badstore
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   247
  > EOF
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   248
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   249
  $ rm -rf `hg config lfs.usercache`
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   250
  $ rm -f $TESTTMP/access.log $TESTTMP/errors.log
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   251
  $ hg --config "lfs.usercache=$TESTTMP/servercache" \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   252
  >    --config extensions.lfsstoreerror=$TESTTMP/lfsstoreerror.py \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   253
  >    -R server serve -d \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   254
  >    -p $HGPORT1 --pid-file=hg.pid -A $TESTTMP/access.log -E $TESTTMP/errors.log
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   255
  $ cat hg.pid >> $DAEMON_PIDS
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   256
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   257
Test an I/O error in localstore.verify() (Batch API) with GET
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   258
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   259
  $ hg clone http://localhost:$HGPORT1 httpclone2
40324
6637b079ae45 lfs: autoload the extension when cloning from repo with lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 40034
diff changeset
   260
  (remote is using large file support (lfs); lfs will be enabled for this repository)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   261
  requesting all changes
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   262
  adding changesets
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   263
  adding manifests
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   264
  adding file changes
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   265
  added 1 changesets with 1 changes to 1 files
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   266
  new changesets 525251863cad
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   267
  updating to branch default
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   268
  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
   269
  [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   270
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   271
Test an I/O error in localstore.verify() (Batch API) with PUT
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   272
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   273
  $ echo foo > client/lfs.bin
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   274
  $ hg -R client ci -m 'mod lfs'
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   275
  $ hg -R client push http://localhost:$HGPORT1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   276
  pushing to http://localhost:$HGPORT1/
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   277
  searching for changes
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   278
  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
   279
  [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   280
TODO: figure out how to associate the file name in the error above
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   281
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   282
Test a bad checksum sent by the client in the transfer API
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   283
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   284
  $ hg -R client push http://localhost:$HGPORT1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   285
  pushing to http://localhost:$HGPORT1/
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   286
  searching for changes
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   287
  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
   288
  [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   289
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   290
  $ echo 'test lfs file' > server/lfs3.bin
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   291
  $ hg --config experimental.lfs.disableusercache=True \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   292
  >    -R server ci -Aqm 'another lfs file'
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   293
  $ hg -R client pull -q http://localhost:$HGPORT1
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   294
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   295
Test an I/O error during the processing of the GET request
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   296
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   297
  $ hg --config lfs.url=http://localhost:$HGPORT1/.git/info/lfs \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   298
  >    -R client update -r tip
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   299
  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
   300
  [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   301
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   302
Test a checksum failure during the processing of the GET request
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   303
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   304
  $ hg --config lfs.url=http://localhost:$HGPORT1/.git/info/lfs \
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   305
  >    -R client update -r tip
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   306
  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
   307
  [50]
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   308
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
   309
  $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   310
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   311
  $ cat $TESTTMP/access.log
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   312
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   313
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
46633
7015b0232c5e exchange: stop advertising rev-branch-cache bundle capability
Joerg Sonnenberger <joerg@bec.de>
parents: 46314
diff changeset
   314
  $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%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
   315
  $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   316
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   317
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D392c05922088bacf8e68a6939b480017afbf245d x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   318
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   319
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   320
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   321
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   322
  $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   323
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   324
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D392c05922088bacf8e68a6939b480017afbf245d x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   325
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   326
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   327
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   328
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   329
  $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
   330
  $LOCALIP - - [$LOGDATE$] "PUT /.hg/lfs/objects/b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c HTTP/1.1" 422 - (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   331
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   332
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D392c05922088bacf8e68a6939b480017afbf245d x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
46633
7015b0232c5e exchange: stop advertising rev-branch-cache bundle capability
Joerg Sonnenberger <joerg@bec.de>
parents: 46314
diff changeset
   333
  $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%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
   334
  $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   335
  $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 500 - (glob)
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   336
  $LOCALIP - - [$LOGDATE$] "POST /.git/info/lfs/objects/batch HTTP/1.1" 200 - (glob)
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
   337
  $LOCALIP - - [$LOGDATE$] "GET /.hg/lfs/objects/276f73cfd75f9fb519810df5f5d96d6594ca2521abd86cbcd92122f7d51a1f3d HTTP/1.1" 422 - (glob)
37689
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   338
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   339
  $ grep -v '  File "' $TESTTMP/errors.log
37690
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
   340
  $LOCALIP - - [$ERRDATE$] HG error:  Exception happened while processing request '/.git/info/lfs/objects/batch': (glob)
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
   341
  $LOCALIP - - [$ERRDATE$] HG error:  Traceback (most recent call last): (glob)
726c4102db9e lfs: log information about Internal Server Errors reported in the Batch API
Matt Harbison <matt_harbison@yahoo.com>
parents: 37689
diff changeset
   342
  $LOCALIP - - [$ERRDATE$] HG error:      verifies = store.verify(oid) (glob)
41423
2a1bb442593b py3: add b'' and r'' prefixes to LFS tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 41068
diff changeset
   343
  $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
   344
  $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
   345
  $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
   346
  $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
   347
  $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
   348
  $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
   349
  $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
   350
  $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
   351
  $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
   352
  $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
   353
  $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
   354
  $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
   355
  $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
   356
  $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
   357
  $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
   358
  $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
   359
  $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
   360
  $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
   361
  $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
   362
  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
   363
      self.do_write()
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   364
      self.do_hgweb()
a7dbda94c86a test-lfs: add tests to force server error path coverage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37617
diff changeset
   365
      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
   366
      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
   367
      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
   368
      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
   369
      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
   370
      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
   371
      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
   372
      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
   373
      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
   374
      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
   375
  *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
   376
  
37692
10e5bb9678f4 lfs: gracefully handle aborts on the server when corrupt blobs are detected
Matt Harbison <matt_harbison@yahoo.com>
parents: 37691
diff changeset
   377
  $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
   378
  $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
   379
  $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
   380
  $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
   381
  $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
   382
  $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
   383
  $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
   384
  $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
   385
  $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
   386
  $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
   387
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   388
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
   389
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
   390
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   391
  $ 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
   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
  $ 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
   394
  > [experimental]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   395
  > 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
   396
  > [auth]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   397
  > 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
   398
  > 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
   399
  > 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
   400
  > 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
   401
  > EOF
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   402
41585
549af2fa089f tests: extract the http server authentication extension to a single module
Matt Harbison <matt_harbison@yahoo.com>
parents: 41432
diff changeset
   403
  $ 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
   404
  >    -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
   405
  >    -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
   406
  $ 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
   407
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   408
  $ 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
   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
    "objects": [
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
        "actions": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   413
          "download": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   414
            "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
   415
            "header": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   416
              "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
   417
              "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
   418
            }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   419
            "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
   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
        }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   422
        "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
   423
        "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
   424
      }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   425
    ]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   426
    "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
   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
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   429
  $ 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
   430
  $ 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
   431
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   432
  $ 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
   433
  > from mercurial import (
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   434
  >     exthelper,
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   435
  >     url,
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   436
  > )
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   437
  > 
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   438
  > eh = exthelper.exthelper()
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   439
  > uisetup = eh.finaluisetup
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   440
  > 
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   441
  > @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
   442
  > 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
   443
  >     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
   444
  >     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
   445
  >     return opener
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   446
  > EOF
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   447
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   448
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
   449
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   450
  $ 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
   451
  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
   452
  searching for changes
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 44412
diff changeset
   453
  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
   454
  (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
   455
  [50]
41607
698667eb7523 lfs: disable all authentication except Basic for HTTP(S) connections
Matt Harbison <matt_harbison@yahoo.com>
parents: 41585
diff changeset
   456
37766
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   457
  $ 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
   458
  {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   459
    "objects": [
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
        "actions": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   462
          "upload": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   463
            "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
   464
            "header": {
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   465
              "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
   466
              "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
   467
            }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   468
            "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
   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
        }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   471
        "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
   472
        "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
   473
      }
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   474
    ]
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   475
    "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
   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
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39457
diff changeset
   478
  $ "$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
   479
925707ac2855 lfs: add the 'Authorization' property to the Batch API response, if present
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   480
  $ 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
   481
  $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
   482
  $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
   483
  $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)
46633
7015b0232c5e exchange: stop advertising rev-branch-cache bundle capability
Joerg Sonnenberger <joerg@bec.de>
parents: 46314
diff changeset
   484
  $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%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
   485
  $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
   486
  $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
   487
  $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
   488
  $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
   489
  $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
   490
  $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
   491
  $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
   492
  $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
   493
  $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
   494
  $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
   495
  $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
   496
  $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
   497
  $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
   498
  $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
   499
  $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
   500
  $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
   501
  $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
   502
  $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
   503
  $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
   504
  $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
   505
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (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=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
   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$] "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
   509
  $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
   510
  $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
   511
  $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
   512
  $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)