tests/test-lfs-serve.t
author Boris Feld <boris.feld@octobus.net>
Thu, 15 Nov 2018 02:38:55 +0100
changeset 40822 64cdfcc73706
parent 40324 6637b079ae45
child 40915 0e21db2458f4
permissions -rw-r--r--
cache: create `cache` directory at init time The cache directory will be needed very quickly, so it seems simpler to create it early to make sure it has the same owner and permission than the other directory in the repository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     1
#testcases lfsremote-on lfsremote-off
38063
538e850ae737 tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents: 37765
diff changeset
     2
#require serve no-reposimplestore no-chg
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     3
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     4
This test splits `hg serve` with and without using the extension into separate
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     5
tests cases.  The tests are broken down as follows, where "LFS"/"No-LFS"
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     6
indicates whether or not there are commits that use an LFS file, and "D"/"E"
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     7
indicates whether or not the extension is loaded.  The "X" cases are not tested
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     8
individually, because the lfs requirement causes the process to bail early if
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     9
the extension is disabled.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    10
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    11
.                        Server
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    12
.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    13
.                    No-LFS        LFS
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    14
.            +----------------------------+
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    15
.            |   ||  D  |  E  |  D  |  E  |
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    16
.            |---++=======================|
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    17
.  C         | D || N/A | #1  |  X  | #4  |
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    18
.  l    No   +---++-----------------------|
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    19
.  i    LFS  | E || #2  | #2  |  X  | #5  |
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    20
.  e         +---++-----------------------|
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    21
.  n         | D ||  X  |  X  |  X  |  X  |
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    22
.  t    LFS  |---++-----------------------|
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    23
.            | E || #3  | #3  |  X  | #6  |
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    24
.            |---++-----------------------+
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    25
37851
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    26
make command server magic visible
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    27
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    28
#if windows
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    29
  $ PYTHONPATH="$TESTDIR/../contrib;$PYTHONPATH"
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    30
#else
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    31
  $ PYTHONPATH="$TESTDIR/../contrib:$PYTHONPATH"
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    32
#endif
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    33
  $ export PYTHONPATH
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    34
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    35
  $ hg init server
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    36
  $ SERVER_REQUIRES="$TESTTMP/server/.hg/requires"
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    37
40268
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    38
  $ cat > $TESTTMP/debugprocessors.py <<EOF
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    39
  > from mercurial import (
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    40
  >     cmdutil,
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    41
  >     commands,
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    42
  >     pycompat,
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    43
  >     registrar,
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    44
  > )
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    45
  > cmdtable = {}
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    46
  > command = registrar.command(cmdtable)
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    47
  > @command(b'debugprocessors', [], b'FILE')
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    48
  > def debugprocessors(ui, repo, file_=None, **opts):
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    49
  >     opts = pycompat.byteskwargs(opts)
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    50
  >     opts[b'changelog'] = False
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    51
  >     opts[b'manifest'] = False
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    52
  >     opts[b'dir'] = False
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    53
  >     rl = cmdutil.openrevlog(repo, b'debugprocessors', file_, opts)
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    54
  >     for flag, proc in rl._flagprocessors.iteritems():
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    55
  >         ui.status(b"registered processor '%#x'\n" % (flag))
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    56
  > EOF
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    57
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    58
Skip the experimental.changegroup3=True config.  Failure to agree on this comes
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    59
first, and causes a "ValueError: no common changegroup version" or "abort:
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    60
HTTP Error 500: Internal Server Error", if the extension is only loaded on one
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    61
side.  If that *is* enabled, the subsequent failure is "abort: missing processor
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    62
for flag '0x2000'!" if the extension is only loaded on one side (possibly also
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    63
masked by the Internal Server Error message).
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    64
  $ cat >> $HGRCPATH <<EOF
40268
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    65
  > [extensions]
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    66
  > debugprocessors = $TESTTMP/debugprocessors.py
37562
e5cd8d1a094d lfs: special case the null:// usercache instead of treating it as a url
Matt Harbison <matt_harbison@yahoo.com>
parents: 37518
diff changeset
    67
  > [experimental]
e5cd8d1a094d lfs: special case the null:// usercache instead of treating it as a url
Matt Harbison <matt_harbison@yahoo.com>
parents: 37518
diff changeset
    68
  > lfs.disableusercache = True
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    69
  > [lfs]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    70
  > threshold=10
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    71
  > [web]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    72
  > allow_push=*
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    73
  > push_ssl=False
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    74
  > EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    75
40268
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    76
  $ cp $HGRCPATH $HGRCPATH.orig
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
    77
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    78
#if lfsremote-on
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    79
  $ hg --config extensions.lfs= -R server \
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    80
  >    serve -p $HGPORT -d --pid-file=hg.pid --errorlog=$TESTTMP/errors.log
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    81
#else
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    82
  $ hg --config extensions.lfs=! -R server \
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    83
  >    serve -p $HGPORT -d --pid-file=hg.pid --errorlog=$TESTTMP/errors.log
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    84
#endif
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    85
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    86
  $ cat hg.pid >> $DAEMON_PIDS
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    87
  $ hg clone -q http://localhost:$HGPORT client
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    88
  $ grep 'lfs' client/.hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    89
  [1]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    90
37851
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    91
This trivial repo will force commandserver to load the extension, but not call
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    92
reposetup() on another repo actually being operated on.  This gives coverage
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    93
that wrapper functions are not assuming reposetup() was called.
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    94
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    95
  $ hg init $TESTTMP/cmdservelfs
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    96
  $ cat >> $TESTTMP/cmdservelfs/.hg/hgrc << EOF
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    97
  > [extensions]
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    98
  > lfs =
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
    99
  > EOF
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   100
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   101
--------------------------------------------------------------------------------
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   102
Case #1: client with non-lfs content and the extension disabled; server with
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   103
non-lfs content, and the extension enabled.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   104
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   105
  $ cd client
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   106
  $ echo 'non-lfs' > nonlfs.txt
37851
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   107
  >>> from __future__ import absolute_import
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   108
  >>> from hgclient import check, readchannel, runcommand
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   109
  >>> @check
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   110
  ... def diff(server):
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   111
  ...     readchannel(server)
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   112
  ...     # run an arbitrary command in the repo with the extension loaded
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   113
  ...     runcommand(server, ['id', '-R', '../cmdservelfs'])
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   114
  ...     # now run a command in a repo without the extension to ensure that
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   115
  ...     # files are added safely..
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   116
  ...     runcommand(server, ['ci', '-Aqm', 'non-lfs'])
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   117
  ...     # .. and that scmutil.prefetchfiles() safely no-ops..
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   118
  ...     runcommand(server, ['diff', '-r', '.~1'])
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   119
  ...     # .. and that debugupgraderepo safely no-ops.
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   120
  ...     runcommand(server, ['debugupgraderepo', '-q', '--run'])
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   121
  *** runcommand id -R ../cmdservelfs
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   122
  000000000000 tip
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   123
  *** runcommand ci -Aqm non-lfs
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   124
  *** runcommand diff -r .~1
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   125
  diff -r 000000000000 nonlfs.txt
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   126
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   127
  +++ b/nonlfs.txt	Thu Jan 01 00:00:00 1970 +0000
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   128
  @@ -0,0 +1,1 @@
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   129
  +non-lfs
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   130
  *** runcommand debugupgraderepo -q --run
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   131
  upgrade will perform the following actions:
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   132
  
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   133
  requirements
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   134
     preserved: dotencode, fncache, generaldelta, revlogv1, store
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   135
  
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   136
  beginning upgrade...
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   137
  repository locked and read-only
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   138
  creating temporary repository to stage migrated data: * (glob)
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   139
  (it is safe to interrupt this process any time before data migration completes)
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   140
  migrating 3 total revisions (1 in filelogs, 1 in manifests, 1 in changelog)
39862
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39723
diff changeset
   141
  migrating 324 bytes in store; 129 bytes tracked data
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39723
diff changeset
   142
  migrating 1 filelogs containing 1 revisions (73 bytes in store; 8 bytes tracked data)
37851
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   143
  finished migrating 1 filelog revisions across 1 filelogs; change in size: 0 bytes
39862
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39723
diff changeset
   144
  migrating 1 manifests containing 1 revisions (117 bytes in store; 52 bytes tracked data)
37851
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   145
  finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes
39862
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39723
diff changeset
   146
  migrating changelog containing 1 revisions (134 bytes in store; 69 bytes tracked data)
37851
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   147
  finished migrating 1 changelog revisions; change in size: 0 bytes
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   148
  finished migrating 3 total revisions; total change in store size: 0 bytes
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   149
  copying phaseroots
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   150
  data fully migrated to temporary repository
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   151
  marking source repository as being upgraded; clients will be unable to read from repository
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   152
  starting in-place swap of repository data
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   153
  replaced files will be backed up at * (glob)
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   154
  replacing store...
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   155
  store replacement complete; repository was inconsistent for *s (glob)
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   156
  finalizing requirements file and making repository readable again
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   157
  removing temporary repository * (glob)
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   158
  copy of old repository backed up at * (glob)
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   159
  the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
3790efb388ca lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37765
diff changeset
   160
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   161
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   162
  [1]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   163
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   164
#if lfsremote-on
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   165
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   166
  $ hg push -q
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   167
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   168
  [1]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   169
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   170
  $ hg clone -q http://localhost:$HGPORT $TESTTMP/client1_clone
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   171
  $ grep 'lfs' $TESTTMP/client1_clone/.hg/requires $SERVER_REQUIRES
35509
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   172
  [1]
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   173
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   174
  $ hg init $TESTTMP/client1_pull
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   175
  $ hg -R $TESTTMP/client1_pull pull -q http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   176
  $ grep 'lfs' $TESTTMP/client1_pull/.hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   177
  [1]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   178
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   179
  $ hg identify http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   180
  d437e1d24fbd
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   181
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   182
#endif
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   183
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   184
--------------------------------------------------------------------------------
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   185
Case #2: client with non-lfs content and the extension enabled; server with
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   186
non-lfs content, and the extension state controlled by #testcases.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   187
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   188
  $ cat >> $HGRCPATH <<EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   189
  > [extensions]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   190
  > lfs =
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   191
  > EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   192
  $ echo 'non-lfs' > nonlfs2.txt
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   193
  $ hg ci -Aqm 'non-lfs file with lfs client'
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   194
35509
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   195
Since no lfs content has been added yet, the push is allowed, even when the
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   196
extension is not enabled remotely.
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   197
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   198
  $ hg push -q
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   199
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   200
  [1]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   201
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   202
  $ hg clone -q http://localhost:$HGPORT $TESTTMP/client2_clone
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   203
  $ grep 'lfs' $TESTTMP/client2_clone/.hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   204
  [1]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   205
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   206
  $ hg init $TESTTMP/client2_pull
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   207
  $ hg -R $TESTTMP/client2_pull pull -q http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   208
  $ grep 'lfs' $TESTTMP/client2_pull/.hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   209
  [1]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   210
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   211
  $ hg identify http://localhost:$HGPORT
35509
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   212
  1477875038c6
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   213
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   214
--------------------------------------------------------------------------------
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   215
Case #3: client with lfs content and the extension enabled; server with
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   216
non-lfs content, and the extension state controlled by #testcases.  The server
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   217
should have an 'lfs' requirement after it picks up its first commit with a blob.
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   218
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   219
  $ echo 'this is a big lfs file' > lfs.bin
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   220
  $ hg ci -Aqm 'lfs'
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   221
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   222
  .hg/requires:lfs
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   223
35510
fa865878a849 lfs: show a friendly message when pushing lfs to a server without lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 35509
diff changeset
   224
#if lfsremote-off
fa865878a849 lfs: show a friendly message when pushing lfs to a server without lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 35509
diff changeset
   225
  $ hg push -q
fa865878a849 lfs: show a friendly message when pushing lfs to a server without lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 35509
diff changeset
   226
  abort: required features are not supported in the destination: lfs
fa865878a849 lfs: show a friendly message when pushing lfs to a server without lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 35509
diff changeset
   227
  (enable the lfs extension on the server)
fa865878a849 lfs: show a friendly message when pushing lfs to a server without lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 35509
diff changeset
   228
  [255]
fa865878a849 lfs: show a friendly message when pushing lfs to a server without lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 35509
diff changeset
   229
#else
fa865878a849 lfs: show a friendly message when pushing lfs to a server without lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 35509
diff changeset
   230
  $ hg push -q
fa865878a849 lfs: show a friendly message when pushing lfs to a server without lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 35509
diff changeset
   231
#endif
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   232
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   233
  .hg/requires:lfs
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   234
  $TESTTMP/server/.hg/requires:lfs (lfsremote-on !)
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   235
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   236
  $ hg clone -q http://localhost:$HGPORT $TESTTMP/client3_clone
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   237
  $ grep 'lfs' $TESTTMP/client3_clone/.hg/requires $SERVER_REQUIRES || true
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   238
  $TESTTMP/client3_clone/.hg/requires:lfs (lfsremote-on !)
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   239
  $TESTTMP/server/.hg/requires:lfs (lfsremote-on !)
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   240
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   241
  $ hg init $TESTTMP/client3_pull
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   242
  $ hg -R $TESTTMP/client3_pull pull -q http://localhost:$HGPORT
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   243
  $ grep 'lfs' $TESTTMP/client3_pull/.hg/requires $SERVER_REQUIRES || true
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   244
  $TESTTMP/client3_pull/.hg/requires:lfs (lfsremote-on !)
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   245
  $TESTTMP/server/.hg/requires:lfs (lfsremote-on !)
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   246
38806
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   247
Test that the commit/changegroup requirement check hook can be run multiple
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   248
times.
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   249
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   250
  $ hg clone -qr 0 http://localhost:$HGPORT $TESTTMP/cmdserve_client3
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   251
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   252
  $ cd ../cmdserve_client3
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   253
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   254
  >>> from __future__ import absolute_import
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   255
  >>> from hgclient import check, readchannel, runcommand
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   256
  >>> @check
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   257
  ... def addrequirement(server):
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   258
  ...     readchannel(server)
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   259
  ...     # change the repo in a way that adds the lfs requirement
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   260
  ...     runcommand(server, ['pull', '-qu'])
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   261
  ...     # Now cause the requirement adding hook to fire again, without going
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   262
  ...     # through reposetup() again.
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   263
  ...     with open('file.txt', 'wb') as fp:
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   264
  ...         fp.write('data')
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   265
  ...     runcommand(server, ['ci', '-Aqm', 'non-lfs'])
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   266
  *** runcommand pull -qu
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   267
  *** runcommand ci -Aqm non-lfs
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   268
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   269
  $ cd ../client
535fc8a22365 lfs: avoid a potential variable reference before assignment error in cmdserver
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   270
35509
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   271
The difference here is the push failed above when the extension isn't
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   272
enabled on the server.
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   273
  $ hg identify http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   274
  8374dc4052cb (lfsremote-on !)
35509
2526579a30e0 lfs: allow non-lfs exchanges when the extension is only enabled on one side
Matt Harbison <matt_harbison@yahoo.com>
parents: 35508
diff changeset
   275
  1477875038c6 (lfsremote-off !)
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   276
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   277
Don't bother testing the lfsremote-off cases- the server won't be able
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   278
to launch if there's lfs content and the extension is disabled.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   279
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   280
#if lfsremote-on
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   281
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   282
--------------------------------------------------------------------------------
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   283
Case #4: client with non-lfs content and the extension disabled; server with
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   284
lfs content, and the extension enabled.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   285
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   286
  $ cat >> $HGRCPATH <<EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   287
  > [extensions]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   288
  > lfs = !
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   289
  > EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   290
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   291
  $ hg init $TESTTMP/client4
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   292
  $ cd $TESTTMP/client4
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   293
  $ cat >> .hg/hgrc <<EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   294
  > [paths]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   295
  > default = http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   296
  > EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   297
  $ echo 'non-lfs' > nonlfs2.txt
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   298
  $ hg ci -Aqm 'non-lfs'
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   299
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   300
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   301
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   302
  $ hg push -q --force
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   303
  warning: repository is unrelated
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   304
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   305
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   306
40324
6637b079ae45 lfs: autoload the extension when cloning from repo with lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 40313
diff changeset
   307
  $ hg clone http://localhost:$HGPORT $TESTTMP/client4_clone
6637b079ae45 lfs: autoload the extension when cloning from repo with lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 40313
diff changeset
   308
  (remote is using large file support (lfs), but it is explicitly disabled in the local configuration)
6637b079ae45 lfs: autoload the extension when cloning from repo with lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 40313
diff changeset
   309
  abort: repository requires features unknown to this Mercurial: lfs!
6637b079ae45 lfs: autoload the extension when cloning from repo with lfs enabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 40313
diff changeset
   310
  (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   311
  [255]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   312
  $ grep 'lfs' $TESTTMP/client4_clone/.hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   313
  grep: $TESTTMP/client4_clone/.hg/requires: $ENOENT$
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   314
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   315
  [2]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   316
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   317
TODO: fail more gracefully.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   318
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   319
  $ hg init $TESTTMP/client4_pull
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   320
  $ hg -R $TESTTMP/client4_pull pull -q http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   321
  abort: HTTP Error 500: Internal Server Error
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   322
  [255]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   323
  $ grep 'lfs' $TESTTMP/client4_pull/.hg/requires $SERVER_REQUIRES
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   324
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   325
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   326
  $ hg identify http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   327
  03b080fa9d93
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   328
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   329
--------------------------------------------------------------------------------
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   330
Case #5: client with non-lfs content and the extension enabled; server with
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   331
lfs content, and the extension enabled.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   332
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   333
  $ cat >> $HGRCPATH <<EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   334
  > [extensions]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   335
  > lfs =
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   336
  > EOF
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   337
  $ echo 'non-lfs' > nonlfs3.txt
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   338
  $ hg ci -Aqm 'non-lfs file with lfs client'
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   339
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   340
  $ hg push -q
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   341
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   342
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   343
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   344
  $ hg clone -q http://localhost:$HGPORT $TESTTMP/client5_clone
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   345
  $ grep 'lfs' $TESTTMP/client5_clone/.hg/requires $SERVER_REQUIRES
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   346
  $TESTTMP/client5_clone/.hg/requires:lfs
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   347
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   348
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   349
  $ hg init $TESTTMP/client5_pull
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   350
  $ hg -R $TESTTMP/client5_pull pull -q http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   351
  $ grep 'lfs' $TESTTMP/client5_pull/.hg/requires $SERVER_REQUIRES
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   352
  $TESTTMP/client5_pull/.hg/requires:lfs
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   353
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   354
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   355
  $ hg identify http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   356
  c729025cc5e3
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   357
40268
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   358
  $ mv $HGRCPATH $HGRCPATH.tmp
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   359
  $ cp $HGRCPATH.orig $HGRCPATH
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   360
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   361
  >>> from __future__ import absolute_import
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   362
  >>> from hgclient import check, readchannel, runcommand
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   363
  >>> @check
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   364
  ... def checkflags(server):
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   365
  ...     readchannel(server)
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   366
  ...     print('')
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   367
  ...     print('# LFS required- both lfs and non-lfs revlogs have 0x2000 flag')
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   368
  ...     runcommand(server, ['debugprocessors', 'lfs.bin', '-R',
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   369
  ...                '../server'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   370
  ...     runcommand(server, ['debugprocessors', 'nonlfs2.txt', '-R',
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   371
  ...                '../server'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   372
  ...     runcommand(server, ['config', 'extensions', '--cwd',
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   373
  ...                '../server'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   374
  ... 
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   375
  ...     print("\n# LFS not enabled- revlogs don't have 0x2000 flag")
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   376
  ...     runcommand(server, ['debugprocessors', 'nonlfs3.txt'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   377
  ...     runcommand(server, ['config', 'extensions'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   378
  
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   379
  # LFS required- both lfs and non-lfs revlogs have 0x2000 flag
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   380
  *** runcommand debugprocessors lfs.bin -R ../server
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   381
  registered processor '0x8000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   382
  registered processor '0x2000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   383
  *** runcommand debugprocessors nonlfs2.txt -R ../server
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   384
  registered processor '0x8000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   385
  registered processor '0x2000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   386
  *** runcommand config extensions --cwd ../server
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   387
  extensions.debugprocessors=$TESTTMP/debugprocessors.py
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   388
  extensions.lfs=
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   389
  
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   390
  # LFS not enabled- revlogs don't have 0x2000 flag
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   391
  *** runcommand debugprocessors nonlfs3.txt
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   392
  registered processor '0x8000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   393
  *** runcommand config extensions
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   394
  extensions.debugprocessors=$TESTTMP/debugprocessors.py
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   395
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   396
  $ rm $HGRCPATH
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   397
  $ mv $HGRCPATH.tmp $HGRCPATH
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   398
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   399
  $ hg clone $TESTTMP/client $TESTTMP/nonlfs -qr 0 --config extensions.lfs=
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   400
  $ cat >> $TESTTMP/nonlfs/.hg/hgrc <<EOF
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   401
  > [extensions]
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   402
  > lfs = !
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   403
  > EOF
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   404
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   405
  >>> from __future__ import absolute_import, print_function
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   406
  >>> from hgclient import check, readchannel, runcommand
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   407
  >>> @check
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   408
  ... def checkflags2(server):
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   409
  ...     readchannel(server)
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   410
  ...     print('')
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   411
  ...     print('# LFS enabled- both lfs and non-lfs revlogs have 0x2000 flag')
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   412
  ...     runcommand(server, ['debugprocessors', 'lfs.bin', '-R',
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   413
  ...                '../server'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   414
  ...     runcommand(server, ['debugprocessors', 'nonlfs2.txt', '-R',
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   415
  ...                '../server'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   416
  ...     runcommand(server, ['config', 'extensions', '--cwd',
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   417
  ...                '../server'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   418
  ... 
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   419
  ...     print('\n# LFS enabled without requirement- revlogs have 0x2000 flag')
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   420
  ...     runcommand(server, ['debugprocessors', 'nonlfs3.txt'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   421
  ...     runcommand(server, ['config', 'extensions'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   422
  ... 
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   423
  ...     print("\n# LFS disabled locally- revlogs don't have 0x2000 flag")
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   424
  ...     runcommand(server, ['debugprocessors', 'nonlfs.txt', '-R',
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   425
  ...                '../nonlfs'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   426
  ...     runcommand(server, ['config', 'extensions', '--cwd',
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   427
  ...                '../nonlfs'])
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   428
  
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   429
  # LFS enabled- both lfs and non-lfs revlogs have 0x2000 flag
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   430
  *** runcommand debugprocessors lfs.bin -R ../server
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   431
  registered processor '0x8000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   432
  registered processor '0x2000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   433
  *** runcommand debugprocessors nonlfs2.txt -R ../server
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   434
  registered processor '0x8000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   435
  registered processor '0x2000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   436
  *** runcommand config extensions --cwd ../server
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   437
  extensions.debugprocessors=$TESTTMP/debugprocessors.py
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   438
  extensions.lfs=
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   439
  
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   440
  # LFS enabled without requirement- revlogs have 0x2000 flag
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   441
  *** runcommand debugprocessors nonlfs3.txt
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   442
  registered processor '0x8000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   443
  registered processor '0x2000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   444
  *** runcommand config extensions
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   445
  extensions.debugprocessors=$TESTTMP/debugprocessors.py
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   446
  extensions.lfs=
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   447
  
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   448
  # LFS disabled locally- revlogs don't have 0x2000 flag
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   449
  *** runcommand debugprocessors nonlfs.txt -R ../nonlfs
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   450
  registered processor '0x8000'
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   451
  *** runcommand config extensions --cwd ../nonlfs
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   452
  extensions.debugprocessors=$TESTTMP/debugprocessors.py
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   453
  extensions.lfs=!
9c4cbbb0fc51 lfs: register the flag processors per repository
Matt Harbison <matt_harbison@yahoo.com>
parents: 40035
diff changeset
   454
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   455
--------------------------------------------------------------------------------
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   456
Case #6: client with lfs content and the extension enabled; server with
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   457
lfs content, and the extension enabled.
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   458
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   459
  $ echo 'this is another lfs file' > lfs2.txt
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   460
  $ hg ci -Aqm 'lfs file with lfs client'
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   461
37564
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   462
  $ hg --config paths.default= push -v http://localhost:$HGPORT
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   463
  pushing to http://localhost:$HGPORT/
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   464
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   465
  searching for changes
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   466
  remote has heads on branch 'default' that are not known locally: 8374dc4052cb
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   467
  lfs: uploading a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de (25 bytes)
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   468
  lfs: processed: a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   469
  lfs: uploaded 1 files (25 bytes)
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   470
  1 changesets found
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   471
  uncompressed size of bundle content:
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   472
       206 (changelog)
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   473
       172 (manifests)
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   474
       275  lfs2.txt
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   475
  remote: adding changesets
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   476
  remote: adding manifests
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   477
  remote: adding file changes
31a4ea773369 lfs: infer the blob store URL from an explicit push dest or default-push
Matt Harbison <matt_harbison@yahoo.com>
parents: 37563
diff changeset
   478
  remote: added 1 changesets with 1 changes to 1 files
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   479
  $ grep 'lfs' .hg/requires $SERVER_REQUIRES
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   480
  .hg/requires:lfs
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   481
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   482
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   483
  $ hg clone -q http://localhost:$HGPORT $TESTTMP/client6_clone
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   484
  $ grep 'lfs' $TESTTMP/client6_clone/.hg/requires $SERVER_REQUIRES
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   485
  $TESTTMP/client6_clone/.hg/requires:lfs
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   486
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   487
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   488
  $ hg init $TESTTMP/client6_pull
37563
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   489
  $ hg -R $TESTTMP/client6_pull pull -u -v http://localhost:$HGPORT
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   490
  pulling from http://localhost:$HGPORT/
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   491
  requesting all changes
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   492
  adding changesets
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   493
  adding manifests
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   494
  adding file changes
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   495
  added 6 changesets with 5 changes to 5 files (+1 heads)
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   496
  calling hook pretxnchangegroup.lfs: hgext.lfs.checkrequireslfs
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   497
  new changesets d437e1d24fbd:d3b84d50eacb
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   498
  resolving manifests
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   499
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   500
  lfs: downloading a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de (25 bytes)
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   501
  lfs: processed: a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de
37765
ab04972a33ef lfs: enable the final download count status message
Matt Harbison <matt_harbison@yahoo.com>
parents: 37764
diff changeset
   502
  lfs: downloaded 1 files (25 bytes)
37563
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   503
  getting lfs2.txt
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   504
  lfs: found a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de in the local lfs store
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   505
  getting nonlfs2.txt
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   506
  getting nonlfs3.txt
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   507
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   508
  updated to "d3b84d50eacb: lfs file with lfs client"
be1cc65bdb1c lfs: infer the blob store URL from an explicit pull source
Matt Harbison <matt_harbison@yahoo.com>
parents: 37562
diff changeset
   509
  1 other heads for branch "default"
40035
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39862
diff changeset
   510
  (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob)
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   511
  $ grep 'lfs' $TESTTMP/client6_pull/.hg/requires $SERVER_REQUIRES
35508
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   512
  $TESTTMP/client6_pull/.hg/requires:lfs
6bb940de4c4c lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs
Matt Harbison <matt_harbison@yahoo.com>
parents: 35507
diff changeset
   513
  $TESTTMP/server/.hg/requires:lfs
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   514
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   515
  $ hg identify http://localhost:$HGPORT
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   516
  d3b84d50eacb
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   517
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   518
--------------------------------------------------------------------------------
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   519
Misc: process dies early if a requirement exists and the extension is disabled
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   520
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   521
  $ hg --config extensions.lfs=! summary
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   522
  abort: repository requires features unknown to this Mercurial: lfs!
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   523
  (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   524
  [255]
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   525
37763
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   526
  $ echo 'this is an lfs file' > $TESTTMP/client6_clone/lfspair1.bin
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   527
  $ echo 'this is an lfs file too' > $TESTTMP/client6_clone/lfspair2.bin
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   528
  $ hg -R $TESTTMP/client6_clone ci -Aqm 'add lfs pair'
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   529
  $ hg -R $TESTTMP/client6_clone push -q
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   530
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   531
  $ hg clone -qU http://localhost:$HGPORT $TESTTMP/bulkfetch
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   532
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   533
Export will prefetch all needed files across all needed revisions
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   534
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   535
  $ hg -R $TESTTMP/bulkfetch -v export -r 0:tip -o all.export
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   536
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   537
  exporting patches:
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   538
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   539
  lfs: need to transfer 4 objects (92 bytes)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   540
  lfs: downloading a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de (25 bytes)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   541
  lfs: processed: a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   542
  lfs: downloading bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc (23 bytes)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   543
  lfs: processed: bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   544
  lfs: downloading cf1b2787b74e66547d931b6ebe28ff63303e803cb2baa14a8f57c4383d875782 (20 bytes)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   545
  lfs: processed: cf1b2787b74e66547d931b6ebe28ff63303e803cb2baa14a8f57c4383d875782
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   546
  lfs: downloading d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e (24 bytes)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   547
  lfs: processed: d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e
37765
ab04972a33ef lfs: enable the final download count status message
Matt Harbison <matt_harbison@yahoo.com>
parents: 37764
diff changeset
   548
  lfs: downloaded 4 files (92 bytes)
37763
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   549
  all.export
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   550
  lfs: found bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc in the local lfs store
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   551
  lfs: found a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de in the local lfs store
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   552
  lfs: found cf1b2787b74e66547d931b6ebe28ff63303e803cb2baa14a8f57c4383d875782 in the local lfs store
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   553
  lfs: found d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e in the local lfs store
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   554
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   555
Export with selected files is used with `extdiff --patch`
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   556
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   557
  $ rm -r $TESTTMP/bulkfetch/.hg/store/lfs
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   558
  $ hg --config extensions.extdiff= \
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   559
  >    -R $TESTTMP/bulkfetch -v extdiff -r 2:tip --patch $TESTTMP/bulkfetch/lfs.bin
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   560
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   561
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   562
  lfs: downloading bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc (23 bytes)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   563
  lfs: processed: bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc
37765
ab04972a33ef lfs: enable the final download count status message
Matt Harbison <matt_harbison@yahoo.com>
parents: 37764
diff changeset
   564
  lfs: downloaded 1 files (23 bytes)
37763
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   565
  */hg-8374dc4052cb.patch (glob)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   566
  lfs: found bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc in the local lfs store
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   567
  */hg-9640b57e77b1.patch (glob)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   568
  --- */hg-8374dc4052cb.patch	* (glob)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   569
  +++ */hg-9640b57e77b1.patch	* (glob)
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   570
  @@ -2,12 +2,7 @@
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   571
   # User test
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   572
   # Date 0 0
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   573
   #      Thu Jan 01 00:00:00 1970 +0000
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   574
  -# Node ID 8374dc4052cbd388e79d9dc4ddb29784097aa354
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   575
  -# Parent  1477875038c60152e391238920a16381c627b487
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   576
  -lfs
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   577
  +# Node ID 9640b57e77b14c3a0144fb4478b6cc13e13ea0d1
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   578
  +# Parent  d3b84d50eacbd56638e11abce6b8616aaba54420
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   579
  +add lfs pair
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   580
   
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   581
  -diff -r 1477875038c6 -r 8374dc4052cb lfs.bin
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   582
  ---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   583
  -+++ b/lfs.bin	Thu Jan 01 00:00:00 1970 +0000
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   584
  -@@ -0,0 +1,1 @@
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   585
  -+this is a big lfs file
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   586
  cleaning up temp directory
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   587
  [1]
b54404d66f7e export: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37564
diff changeset
   588
37764
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   589
Diff will prefetch files
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   590
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   591
  $ rm -r $TESTTMP/bulkfetch/.hg/store/lfs
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   592
  $ hg -R $TESTTMP/bulkfetch -v diff -r 2:tip
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   593
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   594
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   595
  lfs: need to transfer 4 objects (92 bytes)
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   596
  lfs: downloading a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de (25 bytes)
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   597
  lfs: processed: a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   598
  lfs: downloading bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc (23 bytes)
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   599
  lfs: processed: bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   600
  lfs: downloading cf1b2787b74e66547d931b6ebe28ff63303e803cb2baa14a8f57c4383d875782 (20 bytes)
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   601
  lfs: processed: cf1b2787b74e66547d931b6ebe28ff63303e803cb2baa14a8f57c4383d875782
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   602
  lfs: downloading d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e (24 bytes)
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   603
  lfs: processed: d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e
37765
ab04972a33ef lfs: enable the final download count status message
Matt Harbison <matt_harbison@yahoo.com>
parents: 37764
diff changeset
   604
  lfs: downloaded 4 files (92 bytes)
37764
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   605
  lfs: found bed80f00180ac404b843628ab56a1c1984d6145c391cd1628a7dd7d2598d71fc in the local lfs store
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   606
  lfs: found a82f1c5cea0d40e3bb3a849686bb4e6ae47ca27e614de55c1ed0325698ef68de in the local lfs store
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   607
  lfs: found cf1b2787b74e66547d931b6ebe28ff63303e803cb2baa14a8f57c4383d875782 in the local lfs store
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   608
  lfs: found d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e in the local lfs store
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   609
  diff -r 8374dc4052cb -r 9640b57e77b1 lfs.bin
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   610
  --- a/lfs.bin	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   611
  +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   612
  @@ -1,1 +0,0 @@
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   613
  -this is a big lfs file
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   614
  diff -r 8374dc4052cb -r 9640b57e77b1 lfs2.txt
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   615
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   616
  +++ b/lfs2.txt	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   617
  @@ -0,0 +1,1 @@
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   618
  +this is another lfs file
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   619
  diff -r 8374dc4052cb -r 9640b57e77b1 lfspair1.bin
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   620
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   621
  +++ b/lfspair1.bin	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   622
  @@ -0,0 +1,1 @@
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   623
  +this is an lfs file
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   624
  diff -r 8374dc4052cb -r 9640b57e77b1 lfspair2.bin
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   625
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   626
  +++ b/lfspair2.bin	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   627
  @@ -0,0 +1,1 @@
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   628
  +this is an lfs file too
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   629
  diff -r 8374dc4052cb -r 9640b57e77b1 nonlfs.txt
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   630
  --- a/nonlfs.txt	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   631
  +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   632
  @@ -1,1 +0,0 @@
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   633
  -non-lfs
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   634
  diff -r 8374dc4052cb -r 9640b57e77b1 nonlfs3.txt
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   635
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   636
  +++ b/nonlfs3.txt	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   637
  @@ -0,0 +1,1 @@
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   638
  +non-lfs
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   639
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   640
Only the files required by diff are prefetched
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   641
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   642
  $ rm -r $TESTTMP/bulkfetch/.hg/store/lfs
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   643
  $ hg -R $TESTTMP/bulkfetch -v diff -r 2:tip $TESTTMP/bulkfetch/lfspair2.bin
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   644
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   645
  lfs: assuming remote store: http://localhost:$HGPORT/.git/info/lfs
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   646
  lfs: downloading d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e (24 bytes)
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   647
  lfs: processed: d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e
37765
ab04972a33ef lfs: enable the final download count status message
Matt Harbison <matt_harbison@yahoo.com>
parents: 37764
diff changeset
   648
  lfs: downloaded 1 files (24 bytes)
37764
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   649
  lfs: found d96eda2c74b56e95cfb5ffb66b6503e198cc6fc4a09dc877de925feebc65786e in the local lfs store
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   650
  diff -r 8374dc4052cb -r 9640b57e77b1 lfspair2.bin
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   651
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   652
  +++ b/lfspair2.bin	Thu Jan 01 00:00:00 1970 +0000
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   653
  @@ -0,0 +1,1 @@
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   654
  +this is an lfs file too
5e67c20915a7 diff: invoke the file prefetch hook
Matt Harbison <matt_harbison@yahoo.com>
parents: 37763
diff changeset
   655
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   656
#endif
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   657
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38251
diff changeset
   658
  $ "$PYTHON" $TESTDIR/killdaemons.py $DAEMON_PIDS
35507
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   659
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   660
#if lfsremote-on
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   661
  $ cat $TESTTMP/errors.log | grep '^[A-Z]'
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   662
  Traceback (most recent call last):
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   663
  ValueError: no common changegroup version
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   664
#else
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   665
  $ cat $TESTTMP/errors.log
bbcd2e478391 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
   666
#endif