tests/test-clone-stream-format.t
author Anton Shestakov <av6@dwimlabs.net>
Mon, 31 Jan 2022 18:13:00 +0300
changeset 48789 ef50a62eec40
parent 48693 de3ac3d2c60b
child 48800 cffc914cc01b
permissions -rw-r--r--
obsolete: don't use os.stat in repo.obsstore.__nonzero__ if it's static HTTP If a repo is accessed via static HTTP, then we obviously can't use os.stat() to just peek at the file size. Let's download the entire file to check its size. Yes, this feels wasteful, but: 1. If we're cloning or pulling a repo from a static HTTP server, we need the contents of the obsstore anyway. 2. Implementing statichttpvfs.stat() that uses HEAD will result in one more request to a static-only HTTP server, which is already slow. Also parsing a response to a HEAD request to construct os.stat_result is pretty hacky. There's also a question of the remote server properly supporting HEAD method and reporting at least file size. 3. Implementing statichttpvfs.stat() that uses GET is pretty much the same thing as we do here, except we can't even cache the response easily, unlike simply accessing obsstore._data, which is @propertycache'd. Importing statichttprepo locally to avoid circular import. See also: 4507bc001365 and commit message of f8f2ecdde4b5. Differential Revision: https://phab.mercurial-scm.org/D12195
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     1
This file contains tests case that deal with format change accross stream clone
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     2
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
#require serve no-reposimplestore no-chg
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
48653
a3cf460a6b1b stream-clone: also filter the requirement we put in the bundle 2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48598
diff changeset
     5
#testcases stream-legacy stream-bundle2
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
48693
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
     7
  $ cat << EOF >> $HGRCPATH
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
     8
  > [storage]
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
     9
  > revlog.persistent-nodemap.slow-path=allow
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
    10
  > EOF
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
    11
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
#if stream-legacy
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
  $ cat << EOF >> $HGRCPATH
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
  > [server]
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
  > bundle2.stream = no
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
  > EOF
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
#endif
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
Initialize repository
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
48693
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
    21
  $ hg init server --config format.use-share-safe=yes --config format.use-persistent-nodemap=yes
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  $ cd server
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  $ sh $TESTDIR/testlib/stream_clone_setup.sh
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  adding 00changelog-ab349180a0405010.nd
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    25
  adding 00changelog.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    26
  adding 00changelog.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    27
  adding 00changelog.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    28
  adding 00manifest.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    29
  adding 00manifest.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    30
  adding container/isam-build-centos7/bazel-coverage-generator-sandboxfs-compatibility-0758e3e4f6057904d44399bd666faba9e7f40686.patch
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    31
  adding data/foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    32
  adding data/foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    33
  adding data/foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    34
  adding data/undo.babar
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    35
  adding data/undo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    36
  adding data/undo.foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    37
  adding data/undo.foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    38
  adding data/undo.foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    39
  adding data/undo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    40
  adding data/undo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    41
  adding data/undo.py
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    42
  adding foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    43
  adding foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    44
  adding foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    45
  adding meta/foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    46
  adding meta/foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    47
  adding meta/foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    48
  adding meta/undo.babar
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    49
  adding meta/undo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    50
  adding meta/undo.foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    51
  adding meta/undo.foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    52
  adding meta/undo.foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    53
  adding meta/undo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    54
  adding meta/undo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    55
  adding meta/undo.py
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    56
  adding savanah/foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    57
  adding savanah/foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    58
  adding savanah/foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    59
  adding savanah/undo.babar
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    60
  adding savanah/undo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    61
  adding savanah/undo.foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    62
  adding savanah/undo.foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    63
  adding savanah/undo.foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    64
  adding savanah/undo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    65
  adding savanah/undo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
  adding savanah/undo.py
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    67
  adding store/C\xc3\xa9lesteVille_is_a_Capital_City (esc)
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    68
  adding store/foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    69
  adding store/foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  adding store/foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  adding store/undo.babar
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
  adding store/undo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
  adding store/undo.foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
  adding store/undo.foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    75
  adding store/undo.foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  adding store/undo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    77
  adding store/undo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    78
  adding store/undo.py
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    79
  adding undo.babar
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    80
  adding undo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    81
  adding undo.foo.d
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
  adding undo.foo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  adding undo.foo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    84
  adding undo.i
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    85
  adding undo.n
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    86
  adding undo.py
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
    87
  $ hg debugbuilddag .+5000 --from-existing
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
    88
  $ ls -1 .hg/store/00changelog*
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
    89
  .hg/store/00changelog-*.nd (glob)
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
    90
  .hg/store/00changelog.d
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
    91
  .hg/store/00changelog.i
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
    92
  .hg/store/00changelog.n
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    93
  $ cd ..
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    94
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    95
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    96
Test streaming from/to repository without a store:
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    97
==================================================
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  $ hg clone --pull --config format.usestore=no server server-no-store
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   100
  requesting all changes
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
  adding changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
  adding manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   103
  adding file changes
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   104
  added 5004 changesets with 1088 changes to 1088 files (+1 heads)
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   105
  new changesets 96ee1d7354c4:06ddac466af5
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   106
  updating to branch default
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   107
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   108
  $ hg verify -R server-no-store
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   109
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   110
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   111
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   112
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   113
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   114
  $ hg -R server serve -p $HGPORT -d --pid-file=hg-1.pid --error errors-1.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   115
  $ cat hg-1.pid > $DAEMON_PIDS
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   116
  $ hg -R server-no-store serve -p $HGPORT2 -d --pid-file=hg-2.pid --error errors-2.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   117
  $ cat hg-2.pid >> $DAEMON_PIDS
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   118
  $ hg debugrequires -R server | grep store
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   119
  store
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   120
  $ hg debugrequires -R server-no-store | grep store
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   121
  [1]
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   122
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   123
store  no-store cloning
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   124
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   125
  $ hg clone --quiet --stream -U http://localhost:$HGPORT clone-remove-store --config format.usestore=no
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   126
  $ cat errors-1.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   127
  $ hg -R clone-remove-store verify
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   128
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   129
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   130
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   131
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   132
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   133
  $ hg debugrequires -R clone-remove-store | grep store
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   134
  [1]
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   135
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   136
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   137
no-store  store cloning
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   138
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   139
  $ hg clone --quiet --stream -U http://localhost:$HGPORT2 clone-add-store --config format.usestore=yes
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   140
  $ cat errors-2.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   141
  $ hg -R clone-add-store verify
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   142
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   143
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   144
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   145
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   146
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   147
  $ hg debugrequires -R clone-add-store | grep store
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   148
  store
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   149
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   150
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   151
  $ killdaemons.py
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   152
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   153
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   154
Test streaming from/to repository without a fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   155
===================================================
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   156
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   157
  $ rm hg-*.pid errors-*.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   158
  $ hg clone --pull --config format.usefncache=no server server-no-fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   159
  requesting all changes
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   160
  adding changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   161
  adding manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   162
  adding file changes
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   163
  added 5004 changesets with 1088 changes to 1088 files (+1 heads)
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   164
  new changesets 96ee1d7354c4:06ddac466af5
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   165
  updating to branch default
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   166
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   167
  $ hg verify -R server-no-fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   168
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   169
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   170
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   171
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   172
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   173
  $ hg -R server serve -p $HGPORT -d --pid-file=hg-1.pid --error errors-1.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   174
  $ cat hg-1.pid > $DAEMON_PIDS
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   175
  $ hg -R server-no-fncache serve -p $HGPORT2 -d --pid-file=hg-2.pid --error errors-2.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   176
  $ cat hg-2.pid >> $DAEMON_PIDS
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   177
  $ hg debugrequires -R server | grep fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   178
  fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   179
  $ hg debugrequires -R server-no-fncache | grep fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   180
  [1]
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   181
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   182
fncache  no-fncache cloning
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   183
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   184
  $ hg clone --quiet --stream -U http://localhost:$HGPORT clone-remove-fncache --config format.usefncache=no
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   185
  $ cat errors-1.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   186
  $ hg -R clone-remove-fncache verify
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   187
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   188
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   189
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   190
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   191
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   192
  $ hg debugrequires -R clone-remove-fncache | grep fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   193
  [1]
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   194
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   195
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   196
no-fncache  fncache cloning
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   197
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   198
  $ hg clone --quiet --stream -U http://localhost:$HGPORT2 clone-add-fncache --config format.usefncache=yes
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   199
  $ cat errors-2.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   200
  $ hg -R clone-add-fncache verify
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   201
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   202
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   203
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   204
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   205
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   206
  $ hg debugrequires -R clone-add-fncache | grep fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   207
  fncache
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   208
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   209
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   210
  $ killdaemons.py
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   211
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   212
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   213
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   214
Test streaming from/to repository without a dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   215
===================================================
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   216
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   217
  $ rm hg-*.pid errors-*.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   218
  $ hg clone --pull --config format.dotencode=no server server-no-dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   219
  requesting all changes
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   220
  adding changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   221
  adding manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   222
  adding file changes
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   223
  added 5004 changesets with 1088 changes to 1088 files (+1 heads)
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   224
  new changesets 96ee1d7354c4:06ddac466af5
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   225
  updating to branch default
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   226
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   227
  $ hg verify -R server-no-dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   228
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   229
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   230
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   231
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   232
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   233
  $ hg -R server serve -p $HGPORT -d --pid-file=hg-1.pid --error errors-1.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   234
  $ cat hg-1.pid > $DAEMON_PIDS
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   235
  $ hg -R server-no-dotencode serve -p $HGPORT2 -d --pid-file=hg-2.pid --error errors-2.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   236
  $ cat hg-2.pid >> $DAEMON_PIDS
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   237
  $ hg debugrequires -R server | grep dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   238
  dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   239
  $ hg debugrequires -R server-no-dotencode | grep dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   240
  [1]
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   241
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   242
dotencode  no-dotencode cloning
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   243
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   244
  $ hg clone --quiet --stream -U http://localhost:$HGPORT clone-remove-dotencode --config format.dotencode=no
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   245
  $ cat errors-1.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   246
  $ hg -R clone-remove-dotencode verify
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   247
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   248
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   249
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   250
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   251
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   252
  $ hg debugrequires -R clone-remove-dotencode | grep dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   253
  [1]
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   254
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   255
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   256
no-dotencode  dotencode cloning
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   257
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   258
  $ hg clone --quiet --stream -U http://localhost:$HGPORT2 clone-add-dotencode --config format.dotencode=yes
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   259
  $ cat errors-2.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   260
  $ hg -R clone-add-dotencode verify
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   261
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   262
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   263
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   264
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   265
  checked 5004 changesets with 1088 changes to 1088 files
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   266
  $ hg debugrequires -R clone-add-dotencode | grep dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   267
  dotencode
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   268
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   269
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   270
  $ killdaemons.py
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   271
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   272
Cloning from a share
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   273
--------------------
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   274
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   275
We should be able to clone from a "share" repository, it will use the source store for streaming.
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   276
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   277
The resulting clone should not use share.
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   278
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   279
  $ rm hg-*.pid errors-*.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   280
  $ hg share --config extensions.share= server server-share -U
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   281
  $ hg -R server-share serve -p $HGPORT -d --pid-file=hg-1.pid --error errors-1.txt
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   282
  $ cat hg-1.pid > $DAEMON_PIDS
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   283
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   284
  $ hg clone --quiet --stream -U http://localhost:$HGPORT clone-from-share
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   285
  $ hg -R clone-from-share verify
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   286
  checking changesets
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   287
  checking manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   288
  crosschecking files in changesets and manifests
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   289
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   290
  checked 5004 changesets with 1088 changes to 1088 files
48654
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   291
  $ hg debugrequires -R clone-from-share | egrep 'share$'
48598
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   292
  [1]
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   293
a6f16ec07ed7 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   294
  $ killdaemons.py
48654
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   295
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   296
Test streaming from/to repository without a share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   297
======================================================
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   298
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   299
  $ rm hg-*.pid errors-*.txt
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   300
  $ hg clone --pull --config format.use-share-safe=no server server-no-share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   301
  requesting all changes
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   302
  adding changesets
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   303
  adding manifests
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   304
  adding file changes
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   305
  added 5004 changesets with 1088 changes to 1088 files (+1 heads)
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   306
  new changesets 96ee1d7354c4:06ddac466af5
48654
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   307
  updating to branch default
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   308
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
48654
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   309
  $ hg verify -R server-no-share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   310
  checking changesets
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   311
  checking manifests
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   312
  crosschecking files in changesets and manifests
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   313
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   314
  checked 5004 changesets with 1088 changes to 1088 files
48654
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   315
  $ hg -R server serve -p $HGPORT -d --pid-file=hg-1.pid --error errors-1.txt
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   316
  $ cat hg-1.pid > $DAEMON_PIDS
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   317
  $ hg -R server-no-share-safe serve -p $HGPORT2 -d --pid-file=hg-2.pid --error errors-2.txt
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   318
  $ cat hg-2.pid >> $DAEMON_PIDS
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   319
  $ hg debugrequires -R server | grep share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   320
  share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   321
  $ hg debugrequires -R server-no-share-safe | grep share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   322
  [1]
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   323
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   324
share-safe  no-share-safe cloning
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   325
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   326
  $ hg clone --quiet --stream -U http://localhost:$HGPORT clone-remove-share-safe --config format.use-share-safe=no
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   327
  $ cat errors-1.txt
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   328
  $ hg -R clone-remove-share-safe verify
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   329
  checking changesets
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   330
  checking manifests
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   331
  crosschecking files in changesets and manifests
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   332
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   333
  checked 5004 changesets with 1088 changes to 1088 files
48654
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   334
  $ hg debugrequires -R clone-remove-share-safe | grep share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   335
  [1]
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   336
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   337
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   338
no-share-safe  share-safe cloning
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   339
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   340
  $ hg clone --quiet --stream -U http://localhost:$HGPORT2 clone-add-share-safe --config format.use-share-safe=yes
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   341
  $ cat errors-2.txt
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   342
  $ hg -R clone-add-share-safe verify
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   343
  checking changesets
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   344
  checking manifests
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   345
  crosschecking files in changesets and manifests
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   346
  checking files
48692
4933086bebf5 stream-clone: add 5000 changesets to test-clone-stream-format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48654
diff changeset
   347
  checked 5004 changesets with 1088 changes to 1088 files
48654
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   348
  $ hg debugrequires -R clone-add-share-safe | grep share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   349
  share-safe
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   350
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   351
eb5c33f1d08f stream-clone: stop considering working copy only requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48653
diff changeset
   352
  $ killdaemons.py
48693
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   353
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   354
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   355
Test streaming from/to repository without a persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   356
==============================================================
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   357
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   358
persistent nodemap affects revlog, but they are easy to generate locally, so we allow it to be changed over a stream clone
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   359
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   360
  $ rm hg-*.pid errors-*.txt
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   361
  $ hg clone --pull --config format.use-persistent-nodemap=no server server-no-persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   362
  requesting all changes
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   363
  adding changesets
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   364
  adding manifests
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   365
  adding file changes
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   366
  added 5004 changesets with 1088 changes to 1088 files (+1 heads)
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   367
  new changesets 96ee1d7354c4:06ddac466af5
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   368
  updating to branch default
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   369
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   370
  $ hg verify -R server-no-persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   371
  checking changesets
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   372
  checking manifests
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   373
  crosschecking files in changesets and manifests
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   374
  checking files
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   375
  checked 5004 changesets with 1088 changes to 1088 files
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   376
  $ hg -R server serve -p $HGPORT -d --pid-file=hg-1.pid --error errors-1.txt
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   377
  $ cat hg-1.pid > $DAEMON_PIDS
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   378
  $ hg -R server-no-persistent-nodemap serve -p $HGPORT2 -d --pid-file=hg-2.pid --error errors-2.txt
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   379
  $ cat hg-2.pid >> $DAEMON_PIDS
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   380
  $ hg debugrequires -R server | grep persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   381
  persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   382
  $ hg debugrequires -R server-no-persistent-nodemap | grep persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   383
  [1]
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   384
  $ ls -1 server/.hg/store/00changelog*
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   385
  server/.hg/store/00changelog-*.nd (glob)
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   386
  server/.hg/store/00changelog.d
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   387
  server/.hg/store/00changelog.i
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   388
  server/.hg/store/00changelog.n
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   389
  $ ls -1 server-no-persistent-nodemap/.hg/store/00changelog*
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   390
  server-no-persistent-nodemap/.hg/store/00changelog.d
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   391
  server-no-persistent-nodemap/.hg/store/00changelog.i
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   392
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   393
persistent-nodemap  no-persistent-nodemap cloning
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   394
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   395
  $ hg clone --quiet --stream -U http://localhost:$HGPORT clone-remove-persistent-nodemap --config format.use-persistent-nodemap=no
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   396
  $ cat errors-1.txt
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   397
  $ hg -R clone-remove-persistent-nodemap verify
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   398
  checking changesets
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   399
  checking manifests
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   400
  crosschecking files in changesets and manifests
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   401
  checking files
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   402
  checked 5004 changesets with 1088 changes to 1088 files
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   403
  $ hg debugrequires -R clone-remove-persistent-nodemap | grep persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   404
  [1]
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   405
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   406
The persistent-nodemap files should no longer exists
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   407
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   408
  $ ls -1 clone-remove-persistent-nodemap/.hg/store/00changelog*
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   409
  clone-remove-persistent-nodemap/.hg/store/00changelog.d
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   410
  clone-remove-persistent-nodemap/.hg/store/00changelog.i
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   411
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   412
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   413
no-persistent-nodemap  persistent-nodemap cloning
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   414
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   415
  $ hg clone --quiet --stream -U http://localhost:$HGPORT2 clone-add-persistent-nodemap --config format.use-persistent-nodemap=yes
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   416
  $ cat errors-2.txt
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   417
  $ hg -R clone-add-persistent-nodemap verify
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   418
  checking changesets
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   419
  checking manifests
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   420
  crosschecking files in changesets and manifests
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   421
  checking files
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   422
  checked 5004 changesets with 1088 changes to 1088 files
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   423
  $ hg debugrequires -R clone-add-persistent-nodemap | grep persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   424
  persistent-nodemap
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   425
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   426
The persistent-nodemap files should exists
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   427
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   428
  $ ls -1 clone-add-persistent-nodemap/.hg/store/00changelog*
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   429
  clone-add-persistent-nodemap/.hg/store/00changelog-*.nd (glob)
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   430
  clone-add-persistent-nodemap/.hg/store/00changelog.d
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   431
  clone-add-persistent-nodemap/.hg/store/00changelog.i
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   432
  clone-add-persistent-nodemap/.hg/store/00changelog.n
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   433
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   434
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48692
diff changeset
   435
  $ killdaemons.py