tests/test-http.t
author Valentin Gatien-Baron <vgatien-baron@janestreet.com>
Thu, 03 Jan 2019 19:02:46 -0500
changeset 41282 4fab8a7d2d72
parent 41068 28a4fb793ba1
child 41585 549af2fa089f
permissions -rw-r--r--
match: support rooted globs in hgignore In a .hgignore, "glob:foo" always means "**/foo". This cannot be avoided because there is no syntax like "^" in regexes to say you don't want the implied "**/" (of course one can use regexes, but glob syntax is nice). When you have a long list of fairly specific globs like path/to/some/thing, this has two consequences: 1. unintended files may be ignored (not too common though) 2. matching performance can suffer significantly Here is vanilla hg status timing on a private repository: Using syntax:glob everywhere real 0m2.199s user 0m1.545s sys 0m0.619s When rooting the appropriate globs real 0m1.434s user 0m0.847s sys 0m0.565s (tangentially, none of this shows up in --profile's output. It seems that C code doesn't play well with profiling) The code already supports this but there is no syntax to make use of it, so it seems reasonable to create such syntax. I create a new hgignore syntax "rootglob". Differential Revision: https://phab.mercurial-scm.org/D5493
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37845
b4b7427b5786 tests: remove #require killdaemons
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37733
diff changeset
     1
#require serve
2612
ffb895f16925 add support for streaming clone.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     2
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
     3
  $ hg init test
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
     4
  $ cd test
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
     5
  $ echo foo>foo
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
     6
  $ mkdir foo.d foo.d/bAr.hg.d foo.d/baR.d.hg
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
     7
  $ echo foo>foo.d/foo
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
     8
  $ echo bar>foo.d/bAr.hg.d/BaR
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
     9
  $ echo bar>foo.d/baR.d.hg/bAR
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    10
  $ hg commit -A -m 1
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    11
  adding foo
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    12
  adding foo.d/bAr.hg.d/BaR
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    13
  adding foo.d/baR.d.hg/bAR
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    14
  adding foo.d/foo
13445
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
    15
  $ hg serve -p $HGPORT -d --pid-file=../hg1.pid -E ../error.log
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27752
diff changeset
    16
  $ hg serve --config server.uncompressed=False -p $HGPORT1 -d --pid-file=../hg2.pid
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    17
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    18
Test server address cannot be reused
4289
e17598881509 test-http: use printenv.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4130
diff changeset
    19
17023
3e2d8120528b test-http and test-https: partially adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 17018
diff changeset
    20
  $ hg serve -p $HGPORT1 2>&1
35233
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35074
diff changeset
    21
  abort: cannot start server at 'localhost:$HGPORT1': $EADDRINUSE$
17023
3e2d8120528b test-http and test-https: partially adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 17018
diff changeset
    22
  [255]
35233
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35074
diff changeset
    23
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    24
  $ cd ..
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    25
  $ cat hg1.pid hg2.pid >> $DAEMON_PIDS
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    26
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    27
clone via stream
9506
49b62395e910 streamclone: partially encode filename over the wire, not for local read (issue1847)
Greg Ward <greg-hg@gerg.ca>
parents: 8167
diff changeset
    28
37349
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
    29
#if no-reposimplestore
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
    30
  $ hg clone --stream http://localhost:$HGPORT/ copy 2>&1
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    31
  streaming all changes
39722
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 39489
diff changeset
    32
  9 files to transfer, 715 bytes of data
14023
2cd1520664b8 tests: check for (*/sec) instead of (*B/sec) to match (X bytes/sec)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13445
diff changeset
    33
  transferred * bytes in * seconds (*/sec) (glob)
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    34
  updating to branch default
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    35
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    36
  $ hg verify -R copy
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    37
  checking changesets
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    38
  checking manifests
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    39
  crosschecking files in changesets and manifests
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    40
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39185
diff changeset
    41
  checked 1 changesets with 4 changes to 4 files
37349
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
    42
#endif
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    43
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    44
try to clone via stream, should use pull instead
2612
ffb895f16925 add support for streaming clone.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    45
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
    46
  $ hg clone --stream http://localhost:$HGPORT1/ copy2
32259
076f1ff43f0f clone: warn when streaming was requested but couldn't be performed
Siddharth Agarwal <sid0@fb.com>
parents: 32258
diff changeset
    47
  warning: stream clone requested but server has them disabled
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    48
  requesting all changes
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    49
  adding changesets
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    50
  adding manifests
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    51
  adding file changes
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    52
  added 1 changesets with 4 changes to 4 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
    53
  new changesets 8b6053c928fe
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    54
  updating to branch default
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    55
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
2612
ffb895f16925 add support for streaming clone.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    56
32258
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    57
try to clone via stream but missing requirements, so should use pull instead
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    58
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    59
  $ cat > $TESTTMP/removesupportedformat.py << EOF
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    60
  > from mercurial import localrepo
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    61
  > def extsetup(ui):
37733
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
    62
  >     localrepo.localrepository.supportedformats.remove(b'generaldelta')
32258
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    63
  > EOF
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    64
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
    65
  $ hg clone --config extensions.rsf=$TESTTMP/removesupportedformat.py --stream http://localhost:$HGPORT/ copy3
32259
076f1ff43f0f clone: warn when streaming was requested but couldn't be performed
Siddharth Agarwal <sid0@fb.com>
parents: 32258
diff changeset
    66
  warning: stream clone requested but client is missing requirements: generaldelta
076f1ff43f0f clone: warn when streaming was requested but couldn't be performed
Siddharth Agarwal <sid0@fb.com>
parents: 32258
diff changeset
    67
  (see https://www.mercurial-scm.org/wiki/MissingRequirement for more information)
32258
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    68
  requesting all changes
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    69
  adding changesets
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    70
  adding manifests
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    71
  adding file changes
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    72
  added 1 changesets with 4 changes to 4 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
    73
  new changesets 8b6053c928fe
32258
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    74
  updating to branch default
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    75
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
9c60d93fd3ab clone: test streaming disabled because client is missing requirement
Siddharth Agarwal <sid0@fb.com>
parents: 32008
diff changeset
    76
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    77
clone via pull
2673
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2622
diff changeset
    78
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    79
  $ hg clone http://localhost:$HGPORT1/ copy-pull
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    80
  requesting all changes
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    81
  adding changesets
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    82
  adding manifests
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    83
  adding file changes
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    84
  added 1 changesets with 4 changes to 4 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
    85
  new changesets 8b6053c928fe
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    86
  updating to branch default
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    87
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    88
  $ hg verify -R copy-pull
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    89
  checking changesets
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    90
  checking manifests
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    91
  crosschecking files in changesets and manifests
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    92
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39185
diff changeset
    93
  checked 1 changesets with 4 changes to 4 files
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    94
  $ cd test
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    95
  $ echo bar > bar
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    96
  $ hg commit -A -d '1 0' -m 2
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    97
  adding bar
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    98
  $ cd ..
2673
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2622
diff changeset
    99
17342
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   100
clone over http with --update
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   101
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   102
  $ hg clone http://localhost:$HGPORT1/ updated --update 0
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   103
  requesting all changes
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   104
  adding changesets
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   105
  adding manifests
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   106
  adding file changes
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   107
  added 2 changesets with 5 changes to 5 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   108
  new changesets 8b6053c928fe:5fed3813f7f5
17342
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   109
  updating to branch default
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   110
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   111
  $ hg log -r . -R updated
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   112
  changeset:   0:8b6053c928fe
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   113
  user:        test
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   114
  date:        Thu Jan 01 00:00:00 1970 +0000
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   115
  summary:     1
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   116
  
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   117
  $ rm -rf updated
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   118
14161
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   119
incoming via HTTP
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   120
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   121
  $ hg clone http://localhost:$HGPORT1/ --rev 0 partial
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   122
  adding changesets
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   123
  adding manifests
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   124
  adding file changes
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   125
  added 1 changesets with 4 changes to 4 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   126
  new changesets 8b6053c928fe
14161
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   127
  updating to branch default
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   128
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   129
  $ cd partial
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   130
  $ touch LOCAL
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   131
  $ hg ci -qAm LOCAL
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   132
  $ hg incoming http://localhost:$HGPORT1/ --template '{desc}\n'
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   133
  comparing with http://localhost:$HGPORT1/
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   134
  searching for changes
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   135
  2
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   136
  $ cd ..
8a0fca925992 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14023
diff changeset
   137
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   138
pull
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   139
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   140
  $ cd copy-pull
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29564
diff changeset
   141
  $ cat >> .hg/hgrc <<EOF
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29564
diff changeset
   142
  > [hooks]
41036
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   143
  > changegroup = sh -c "printenv.py --line changegroup"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29564
diff changeset
   144
  > EOF
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   145
  $ hg pull
12643
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12446
diff changeset
   146
  pulling from http://localhost:$HGPORT1/
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   147
  searching for changes
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   148
  adding changesets
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   149
  adding manifests
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   150
  adding file changes
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   151
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   152
  new changesets 5fed3813f7f5
41036
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   153
  changegroup hook: HG_HOOKNAME=changegroup
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   154
  HG_HOOKTYPE=changegroup
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   155
  HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   156
  HG_NODE_LAST=5fed3813f7f5e1824344fdc9cf8f63bb662c292d
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   157
  HG_SOURCE=pull
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   158
  HG_TXNID=TXN:$ID$
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   159
  HG_URL=http://localhost:$HGPORT1/
73da729ccfef test: introduce a new flag to display env variable line per line
Boris Feld <boris.feld@octobus.net>
parents: 40655
diff changeset
   160
  
12446
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   161
  (run 'hg update' to get a working copy)
df57227a72bf tests: unify test-http
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
   162
  $ cd ..
13445
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   163
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   164
clone from invalid URL
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   165
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   166
  $ hg clone http://localhost:$HGPORT/bad
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   167
  abort: HTTP Error 404: Not Found
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   168
  [255]
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   169
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   170
test http authentication
16361
6097ede2be4d protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents: 15446
diff changeset
   171
+ use the same server to test server side streaming preference
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   172
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   173
  $ cd test
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   174
  $ cat << EOT > userpass.py
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   175
  > import base64
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   176
  > from mercurial.hgweb import common
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   177
  > def perform_authentication(hgweb, req, op):
37733
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
   178
  >     auth = req.headers.get(b'Authorization')
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   179
  >     if not auth:
37733
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
   180
  >         raise common.ErrorResponse(common.HTTP_UNAUTHORIZED, b'who',
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
   181
  >                 [(b'WWW-Authenticate', b'Basic Realm="mercurial"')])
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
   182
  >     if base64.b64decode(auth.split()[1]).split(b':', 1) != [b'user', b'pass']:
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
   183
  >         raise common.ErrorResponse(common.HTTP_FORBIDDEN, b'no')
41068
28a4fb793ba1 extensions: deprecate extsetup without a `ui` argument (API)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41036
diff changeset
   184
  > def extsetup(ui):
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   185
  >     common.permhooks.insert(0, perform_authentication)
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   186
  > EOT
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27752
diff changeset
   187
  $ hg serve --config extensions.x=userpass.py -p $HGPORT2 -d --pid-file=pid \
20385
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   188
  >    --config server.preferuncompressed=True \
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   189
  >    --config web.push_ssl=False --config web.allow_push=* -A ../access.log
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   190
  $ cat pid >> $DAEMON_PIDS
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   191
20291
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   192
  $ cat << EOF > get_pass.py
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   193
  > import getpass
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   194
  > def newgetpass(arg):
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   195
  >   return "pass"
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   196
  > getpass.getpass = newgetpass
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   197
  > EOF
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   198
17342
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   199
  $ hg id http://localhost:$HGPORT2/
20291
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   200
  abort: http authorization required for http://localhost:$HGPORT2/
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   201
  [255]
20291
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   202
  $ hg id http://localhost:$HGPORT2/
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   203
  abort: http authorization required for http://localhost:$HGPORT2/
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   204
  [255]
20291
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   205
  $ hg id --config ui.interactive=true --config extensions.getpass=get_pass.py http://user@localhost:$HGPORT2/
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   206
  http authorization required for http://localhost:$HGPORT2/
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   207
  realm: mercurial
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   208
  user: user
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   209
  password: 5fed3813f7f5
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   210
  $ hg id http://user:pass@localhost:$HGPORT2/
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   211
  5fed3813f7f5
17342
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   212
  $ echo '[auth]' >> .hg/hgrc
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   213
  $ echo 'l.schemes=http' >> .hg/hgrc
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   214
  $ echo 'l.prefix=lo' >> .hg/hgrc
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   215
  $ echo 'l.username=user' >> .hg/hgrc
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   216
  $ echo 'l.password=pass' >> .hg/hgrc
17342
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   217
  $ hg id http://localhost:$HGPORT2/
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   218
  5fed3813f7f5
17342
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   219
  $ hg id http://localhost:$HGPORT2/
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   220
  5fed3813f7f5
17342
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   221
  $ hg id http://user@localhost:$HGPORT2/
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   222
  5fed3813f7f5
37349
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
   223
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
   224
#if no-reposimplestore
16361
6097ede2be4d protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents: 15446
diff changeset
   225
  $ hg clone http://user:pass@localhost:$HGPORT2/ dest 2>&1
6097ede2be4d protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents: 15446
diff changeset
   226
  streaming all changes
39722
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 39489
diff changeset
   227
  10 files to transfer, 1.01 KB of data
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 39489
diff changeset
   228
  transferred * KB in * seconds (*/sec) (glob)
16361
6097ede2be4d protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents: 15446
diff changeset
   229
  updating to branch default
6097ede2be4d protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents: 15446
diff changeset
   230
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
37349
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
   231
#endif
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
   232
23546
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   233
--pull should override server's preferuncompressed
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   234
  $ hg clone --pull http://user:pass@localhost:$HGPORT2/ dest-pull 2>&1
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   235
  requesting all changes
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   236
  adding changesets
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   237
  adding manifests
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   238
  adding file changes
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   239
  added 2 changesets with 5 changes to 5 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   240
  new changesets 8b6053c928fe:5fed3813f7f5
23546
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   241
  updating to branch default
deabbe7ed54b localrepo.clone: add a way to override server preferuncompressed
Siddharth Agarwal <sid0@fb.com>
parents: 23116
diff changeset
   242
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
16361
6097ede2be4d protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl>
parents: 15446
diff changeset
   243
17342
471f30d360ea clone: don't fail with --update for non-local clones (issue3578)
Augie Fackler <raf@durin42.com>
parents: 17260
diff changeset
   244
  $ hg id http://user2@localhost:$HGPORT2/
20291
7d589d923b8a url: added authuri when login information is requested (issue3209)
Lucas Moscovicz <lmoscovicz@fb.com>
parents: 17342
diff changeset
   245
  abort: http authorization required for http://localhost:$HGPORT2/
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   246
  [255]
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   247
  $ hg id http://user:pass2@localhost:$HGPORT2/
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   248
  abort: HTTP Error 403: no
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   249
  [255]
20385
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   250
37349
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
   251
  $ hg -R dest-pull tag -r tip top
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
   252
  $ hg -R dest-pull push http://user:pass@localhost:$HGPORT2/
20385
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   253
  pushing to http://user:***@localhost:$HGPORT2/
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   254
  searching for changes
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   255
  remote: adding changesets
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   256
  remote: adding manifests
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   257
  remote: adding file changes
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   258
  remote: added 1 changesets with 1 changes to 1 files
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   259
  $ hg rollback -q
37349
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36968
diff changeset
   260
  $ hg -R dest-pull push http://user:pass@localhost:$HGPORT2/ --debug --config devel.debug.peer-request=yes
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   261
  pushing to http://user:***@localhost:$HGPORT2/
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   262
  using http://localhost:$HGPORT2/
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   263
  http auth: user user, password ****
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   264
  sending capabilities command
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   265
  devel-peer-request: GET http://localhost:$HGPORT2/?cmd=capabilities
36754
e3c228b4510d wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35792
diff changeset
   266
  http auth: user user, password ****
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   267
  devel-peer-request:   finished in *.???? seconds (200) (glob)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   268
  query 1; heads
36945
4901d1e22b27 peer-request: include more details about batch commands
Boris Feld <boris.feld@octobus.net>
parents: 36877
diff changeset
   269
  devel-peer-request: batched-content
4901d1e22b27 peer-request: include more details about batch commands
Boris Feld <boris.feld@octobus.net>
parents: 36877
diff changeset
   270
  devel-peer-request:    - heads (0 arguments)
4901d1e22b27 peer-request: include more details about batch commands
Boris Feld <boris.feld@octobus.net>
parents: 36877
diff changeset
   271
  devel-peer-request:    - known (1 arguments)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   272
  sending batch command
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   273
  devel-peer-request: GET http://localhost:$HGPORT2/?cmd=batch
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   274
  devel-peer-request:   Vary X-HgArg-1,X-HgProto-1
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   275
  devel-peer-request:   X-hgproto-1 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   276
  devel-peer-request:   68 bytes of commands arguments in headers
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   277
  devel-peer-request:   finished in *.???? seconds (200) (glob)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   278
  searching for changes
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   279
  all remote heads known locally
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   280
  preparing listkeys for "phases"
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   281
  sending listkeys command
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   282
  devel-peer-request: GET http://localhost:$HGPORT2/?cmd=listkeys
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   283
  devel-peer-request:   Vary X-HgArg-1,X-HgProto-1
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   284
  devel-peer-request:   X-hgproto-1 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   285
  devel-peer-request:   16 bytes of commands arguments in headers
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   286
  devel-peer-request:   finished in *.???? seconds (200) (glob)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   287
  received listkey for "phases": 58 bytes
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   288
  checking for updated bookmarks
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   289
  preparing listkeys for "bookmarks"
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   290
  sending listkeys command
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   291
  devel-peer-request: GET http://localhost:$HGPORT2/?cmd=listkeys
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   292
  devel-peer-request:   Vary X-HgArg-1,X-HgProto-1
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   293
  devel-peer-request:   X-hgproto-1 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   294
  devel-peer-request:   19 bytes of commands arguments in headers
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   295
  devel-peer-request:   finished in *.???? seconds (200) (glob)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   296
  received listkey for "bookmarks": 0 bytes
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   297
  sending branchmap command
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   298
  devel-peer-request: GET http://localhost:$HGPORT2/?cmd=branchmap
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   299
  devel-peer-request:   Vary X-HgProto-1
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   300
  devel-peer-request:   X-hgproto-1 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   301
  devel-peer-request:   finished in *.???? seconds (200) (glob)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   302
  preparing listkeys for "bookmarks"
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   303
  sending listkeys command
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   304
  devel-peer-request: GET http://localhost:$HGPORT2/?cmd=listkeys
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   305
  devel-peer-request:   Vary X-HgArg-1,X-HgProto-1
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   306
  devel-peer-request:   X-hgproto-1 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   307
  devel-peer-request:   19 bytes of commands arguments in headers
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   308
  devel-peer-request:   finished in *.???? seconds (200) (glob)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   309
  received listkey for "bookmarks": 0 bytes
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   310
  1 changesets found
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   311
  list of changesets:
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   312
  7f4e523d01f2cc3765ac8934da3d14db775ff872
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   313
  bundle2-output-bundle: "HG20", 5 parts total
36968
2090044a288d revbranchcache: advertise and use 'rbc' exchange capability
Boris Feld <boris.feld@octobus.net>
parents: 36945
diff changeset
   314
  bundle2-output-part: "replycaps" 205 bytes payload
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   315
  bundle2-output-part: "check:phases" 24 bytes payload
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   316
  bundle2-output-part: "check:heads" streamed payload
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   317
  bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   318
  bundle2-output-part: "phase-heads" 24 bytes payload
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   319
  sending unbundle command
36968
2090044a288d revbranchcache: advertise and use 'rbc' exchange capability
Boris Feld <boris.feld@octobus.net>
parents: 36945
diff changeset
   320
  sending 1013 bytes
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   321
  devel-peer-request: POST http://localhost:$HGPORT2/?cmd=unbundle
36968
2090044a288d revbranchcache: advertise and use 'rbc' exchange capability
Boris Feld <boris.feld@octobus.net>
parents: 36945
diff changeset
   322
  devel-peer-request:   Content-length 1013
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   323
  devel-peer-request:   Content-type application/mercurial-0.1
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   324
  devel-peer-request:   Vary X-HgArg-1,X-HgProto-1
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   325
  devel-peer-request:   X-hgproto-1 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   326
  devel-peer-request:   16 bytes of commands arguments in headers
36968
2090044a288d revbranchcache: advertise and use 'rbc' exchange capability
Boris Feld <boris.feld@octobus.net>
parents: 36945
diff changeset
   327
  devel-peer-request:   1013 bytes of data
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   328
  devel-peer-request:   finished in *.???? seconds (200) (glob)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   329
  bundle2-input-bundle: no-transaction
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   330
  bundle2-input-part: "reply:changegroup" (advisory) (params: 0 advisory) supported
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   331
  bundle2-input-part: "output" (advisory) (params: 0 advisory) supported
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   332
  bundle2-input-part: total payload size 100
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   333
  remote: adding changesets
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   334
  remote: adding manifests
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   335
  remote: adding file changes
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   336
  remote: added 1 changesets with 1 changes to 1 files
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   337
  bundle2-input-part: "output" (advisory) supported
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   338
  bundle2-input-bundle: 2 parts total
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   339
  preparing listkeys for "phases"
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   340
  sending listkeys command
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   341
  devel-peer-request: GET http://localhost:$HGPORT2/?cmd=listkeys
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   342
  devel-peer-request:   Vary X-HgArg-1,X-HgProto-1
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   343
  devel-peer-request:   X-hgproto-1 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
35698
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   344
  devel-peer-request:   16 bytes of commands arguments in headers
0c4b23ccf1a5 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net>
parents: 35696
diff changeset
   345
  devel-peer-request:   finished in *.???? seconds (200) (glob)
35696
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   346
  received listkey for "phases": 15 bytes
925107e37619 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   347
  $ hg rollback -q
20385
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   348
29564
db565a506729 test-http: use sed instead of fixed-with cut for reading access.log
Augie Fackler <augie@google.com>
parents: 29064
diff changeset
   349
  $ sed 's/.*] "/"/' < ../access.log
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   350
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   351
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   352
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   353
  "GET /?cmd=capabilities HTTP/1.1" 200 -
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   354
  "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   355
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   356
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   357
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   358
  "GET /?cmd=capabilities HTTP/1.1" 200 -
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   359
  "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   360
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   361
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   362
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   363
  "GET /?cmd=capabilities HTTP/1.1" 200 -
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   364
  "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   365
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   366
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   367
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   368
  "GET /?cmd=capabilities HTTP/1.1" 200 -
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   369
  "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   370
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   371
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   372
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   373
  "GET /?cmd=capabilities HTTP/1.1" 200 -
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   374
  "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=tip x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   375
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=namespaces x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   376
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   377
  "GET /?cmd=capabilities HTTP/1.1" 401 - (no-reposimplestore !)
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   378
  "GET /?cmd=capabilities HTTP/1.1" 200 - (no-reposimplestore !)
39722
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 39489
diff changeset
   379
  "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 (no-reposimplestore !)
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 39489
diff changeset
   380
  "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=0&common=0000000000000000000000000000000000000000&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=bookmarks&stream=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (no-reposimplestore !)
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   381
  "GET /?cmd=capabilities HTTP/1.1" 401 - (no-reposimplestore !)
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   382
  "GET /?cmd=capabilities HTTP/1.1" 200 - (no-reposimplestore !)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   383
  "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
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   384
  "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=5fed3813f7f5e1824344fdc9cf8f63bb662c292d&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   385
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   386
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   387
  "GET /?cmd=capabilities HTTP/1.1" 403 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   388
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   389
  "GET /?cmd=capabilities HTTP/1.1" 200 -
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   390
  "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D7f4e523d01f2cc3765ac8934da3d14db775ff872 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   391
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   392
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   393
  "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   394
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
28996
b74ca9ace65e tests: tolerate http2
timeless <timeless@mozdev.org>
parents: 28549
diff changeset
   395
  "POST /?cmd=unbundle HTTP/1.1" 200 - x-hgarg-1:heads=666f726365* (glob)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   396
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   397
  "GET /?cmd=capabilities HTTP/1.1" 401 -
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
   398
  "GET /?cmd=capabilities HTTP/1.1" 200 -
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   399
  "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D7f4e523d01f2cc3765ac8934da3d14db775ff872 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   400
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   401
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   402
  "GET /?cmd=branchmap HTTP/1.1" 200 - x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   403
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=bookmarks x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   404
  "POST /?cmd=unbundle HTTP/1.1" 200 - x-hgarg-1:heads=666f726365 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37416
diff changeset
   405
  "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull
20385
54235a6ff98a tests: improved test coverage for HTTP authentication and 401 responses
Mads Kiilerich <madski@unity3d.com>
parents: 20384
diff changeset
   406
15026
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   407
  $ cd ..
f32a2989ff58 test-http: test http authentication
Mads Kiilerich <mads@kiilerich.com>
parents: 14161
diff changeset
   408
15055
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   409
clone of serve with repo in root and unserved subrepo (issue2970)
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   410
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   411
  $ hg --cwd test init sub
17260
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17023
diff changeset
   412
  $ echo empty > test/sub/empty
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17023
diff changeset
   413
  $ hg --cwd test/sub add empty
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17023
diff changeset
   414
  $ hg --cwd test/sub commit -qm 'add empty'
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 17023
diff changeset
   415
  $ hg --cwd test/sub tag -r 0 something
15055
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   416
  $ echo sub = sub > test/.hgsub
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   417
  $ hg --cwd test add .hgsub
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   418
  $ hg --cwd test commit -qm 'add subrepo'
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   419
  $ hg clone http://localhost:$HGPORT noslash-clone
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   420
  requesting all changes
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   421
  adding changesets
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   422
  adding manifests
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   423
  adding file changes
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   424
  added 3 changesets with 7 changes to 7 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   425
  new changesets 8b6053c928fe:56f9bc90cce6
15055
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   426
  updating to branch default
40655
69d4c8c5c25e subrepo: print the status line before creating the peer for better diagnostics
Matt Harbison <matt_harbison@yahoo.com>
parents: 39722
diff changeset
   427
  cloning subrepo sub from http://localhost:$HGPORT/sub
15055
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   428
  abort: HTTP Error 404: Not Found
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   429
  [255]
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   430
  $ hg clone http://localhost:$HGPORT/ slash-clone
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   431
  requesting all changes
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   432
  adding changesets
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   433
  adding manifests
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   434
  adding file changes
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   435
  added 3 changesets with 7 changes to 7 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   436
  new changesets 8b6053c928fe:56f9bc90cce6
15055
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   437
  updating to branch default
40655
69d4c8c5c25e subrepo: print the status line before creating the peer for better diagnostics
Matt Harbison <matt_harbison@yahoo.com>
parents: 39722
diff changeset
   438
  cloning subrepo sub from http://localhost:$HGPORT/sub
15055
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   439
  abort: HTTP Error 404: Not Found
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   440
  [255]
d629f1e89021 subrepo: fix cloning of repos from urls without slash after host (issue2970)
Mads Kiilerich <mads@kiilerich.com>
parents: 15026
diff changeset
   441
13445
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   442
check error log
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   443
61a898576888 hgweb: handle invalid requests with both form data and querystring
Mads Kiilerich <mads@kiilerich.com>
parents: 13439
diff changeset
   444
  $ cat error.log
30914
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   445
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   446
check abort error reporting while pulling/cloning
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   447
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   448
  $ $RUNTESTDIR/killdaemons.py
34483
a6d95a8b7243 serve: make tests compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34393
diff changeset
   449
  $ hg serve -R test -p $HGPORT -d --pid-file=hg3.pid -E error.log --config extensions.crash=${TESTDIR}/crashgetbundler.py
30914
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   450
  $ cat hg3.pid >> $DAEMON_PIDS
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   451
  $ hg clone http://localhost:$HGPORT/ abort-clone
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   452
  requesting all changes
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   453
  remote: abort: this is an exercise
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   454
  abort: pull failed on remote
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   455
  [255]
f3807a135e43 wireproto: properly report server Abort during 'getbundle'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30763
diff changeset
   456
  $ cat error.log
31936
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   457
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   458
disable pull-based clones
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   459
34483
a6d95a8b7243 serve: make tests compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34393
diff changeset
   460
  $ hg serve -R test -p $HGPORT1 -d --pid-file=hg4.pid -E error.log --config server.disablefullbundle=True
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   461
  $ cat hg4.pid >> $DAEMON_PIDS
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   462
  $ hg clone http://localhost:$HGPORT1/ disable-pull-clone
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   463
  requesting all changes
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   464
  remote: abort: server has pull-based clones disabled
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   465
  abort: pull failed on remote
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   466
  (remove --pull if specified or upgrade Mercurial)
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   467
  [255]
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   468
37416
7542e97c7867 tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37349
diff changeset
   469
#if no-reposimplestore
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   470
... but keep stream clones working
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   471
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   472
  $ hg clone --stream --noupdate http://localhost:$HGPORT1/ test-stream-clone
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   473
  streaming all changes
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   474
  * files to transfer, * of data (glob)
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   475
  transferred * in * seconds (*/sec) (glob)
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   476
  $ cat error.log
37416
7542e97c7867 tests: conditionalize tests for various repo features
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37349
diff changeset
   477
#endif
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   478
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   479
... and also keep partial clones and pulls working
39184
8724de878268 tests: demonstrate an inconsistency when cloning to a missing directory tree
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
   480
  $ hg clone http://localhost:$HGPORT1 --rev 0 test/partial/clone
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   481
  adding changesets
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   482
  adding manifests
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   483
  adding file changes
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   484
  added 1 changesets with 4 changes to 4 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   485
  new changesets 8b6053c928fe
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   486
  updating to branch default
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   487
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
39184
8724de878268 tests: demonstrate an inconsistency when cloning to a missing directory tree
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
   488
  $ hg pull -R test/partial/clone
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   489
  pulling from http://localhost:$HGPORT1/
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   490
  searching for changes
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   491
  adding changesets
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   492
  adding manifests
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   493
  adding file changes
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   494
  added 2 changesets with 3 changes to 3 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   495
  new changesets 5fed3813f7f5:56f9bc90cce6
32260
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   496
  (run 'hg update' to get a working copy)
d0d9a4fca59b clone: add a server-side option to disable full getbundles (pull-based clones)
Siddharth Agarwal <sid0@fb.com>
parents: 32259
diff changeset
   497
39185
143efea71c2a clone: allow local cloning to create more than one level of directories
Matt Harbison <matt_harbison@yahoo.com>
parents: 39184
diff changeset
   498
  $ hg clone -U -r 0 test/partial/clone test/another/clone
143efea71c2a clone: allow local cloning to create more than one level of directories
Matt Harbison <matt_harbison@yahoo.com>
parents: 39184
diff changeset
   499
  adding changesets
143efea71c2a clone: allow local cloning to create more than one level of directories
Matt Harbison <matt_harbison@yahoo.com>
parents: 39184
diff changeset
   500
  adding manifests
143efea71c2a clone: allow local cloning to create more than one level of directories
Matt Harbison <matt_harbison@yahoo.com>
parents: 39184
diff changeset
   501
  adding file changes
143efea71c2a clone: allow local cloning to create more than one level of directories
Matt Harbison <matt_harbison@yahoo.com>
parents: 39184
diff changeset
   502
  added 1 changesets with 4 changes to 4 files
143efea71c2a clone: allow local cloning to create more than one level of directories
Matt Harbison <matt_harbison@yahoo.com>
parents: 39184
diff changeset
   503
  new changesets 8b6053c928fe
39184
8724de878268 tests: demonstrate an inconsistency when cloning to a missing directory tree
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
   504
31936
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   505
corrupt cookies file should yield a warning
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   506
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   507
  $ cat > $TESTTMP/cookies.txt << EOF
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   508
  > bad format
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   509
  > EOF
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   510
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   511
  $ hg --config auth.cookiefile=$TESTTMP/cookies.txt id http://localhost:$HGPORT/
32008
9a782e7e651e test-http: add a (glob) for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31936
diff changeset
   512
  (error loading cookie file $TESTTMP/cookies.txt: '*/cookies.txt' does not look like a Netscape format cookies file; continuing without cookies) (glob)
31936
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   513
  56f9bc90cce6
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   514
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   515
  $ killdaemons.py
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   516
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   517
Create dummy authentication handler that looks for cookies. It doesn't do anything
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   518
useful. It just raises an HTTP 500 with details about the Cookie request header.
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   519
We raise HTTP 500 because its message is printed in the abort message.
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   520
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   521
  $ cat > cookieauth.py << EOF
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   522
  > from mercurial import util
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   523
  > from mercurial.hgweb import common
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   524
  > def perform_authentication(hgweb, req, op):
37733
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
   525
  >     cookie = req.headers.get(b'Cookie')
31936
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   526
  >     if not cookie:
37733
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
   527
  >         raise common.ErrorResponse(common.HTTP_SERVER_ERROR, b'no-cookie')
d43810fe52b0 tests: port inline extensions in test-http.t to Python 3
Augie Fackler <augie@google.com>
parents: 37636
diff changeset
   528
  >     raise common.ErrorResponse(common.HTTP_SERVER_ERROR, b'Cookie: %s' % cookie)
41068
28a4fb793ba1 extensions: deprecate extsetup without a `ui` argument (API)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41036
diff changeset
   529
  > def extsetup(ui):
31936
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   530
  >     common.permhooks.insert(0, perform_authentication)
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   531
  > EOF
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   532
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   533
  $ hg serve --config extensions.cookieauth=cookieauth.py -R test -p $HGPORT -d --pid-file=pid
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   534
  $ cat pid > $DAEMON_PIDS
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   535
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   536
Request without cookie sent should fail due to lack of cookie
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   537
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   538
  $ hg id http://localhost:$HGPORT
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   539
  abort: HTTP Error 500: no-cookie
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   540
  [255]
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   541
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   542
Populate a cookies file
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   543
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   544
  $ cat > cookies.txt << EOF
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   545
  > # HTTP Cookie File
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   546
  > # Expiration is 2030-01-01 at midnight
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   547
  > .example.com	TRUE	/	FALSE	1893456000	hgkey	examplevalue
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   548
  > EOF
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   549
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   550
Should not send a cookie for another domain
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   551
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   552
  $ hg --config auth.cookiefile=cookies.txt id http://localhost:$HGPORT/
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   553
  abort: HTTP Error 500: no-cookie
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   554
  [255]
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   555
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   556
Add a cookie entry for our test server and verify it is sent
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   557
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   558
  $ cat >> cookies.txt << EOF
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   559
  > localhost.local	FALSE	/	FALSE	1893456000	hgkey	localhostvalue
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   560
  > EOF
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   561
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   562
  $ hg --config auth.cookiefile=cookies.txt id http://localhost:$HGPORT/
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   563
  abort: HTTP Error 500: Cookie: hgkey=localhostvalue
806f9a883b4f url: support auth.cookiesfile for adding cookies to HTTP requests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31768
diff changeset
   564
  [255]