tests/test-clone-uncompressed.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 04 Dec 2020 10:11:01 +0100
changeset 46428 b8d8fd2fe75f
parent 46314 95a615dd77bf
child 46672 7015b0232c5e
permissions -rw-r--r--
perf: use the `perf--` prefix for perf command This is the one command namespace where they should not be any ambiguity about command that should be in it. The perf extensions is only adding performance related command. so this is a good ground to start putting dash folding to the tests. Differential Revision: https://phab.mercurial-scm.org/D9516
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38063
538e850ae737 tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents: 37667
diff changeset
     1
#require serve no-reposimplestore no-chg
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     2
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
     3
#testcases stream-legacy stream-bundle2
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
     4
39738
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 39737
diff changeset
     5
#if stream-legacy
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
     6
  $ cat << EOF >> $HGRCPATH
39737
1b5880352314 bundle2: graduate bundle2.stream option from experimental to server section
Anton Shestakov <av6@dwimlabs.net>
parents: 39328
diff changeset
     7
  > [server]
39738
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 39737
diff changeset
     8
  > bundle2.stream = no
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
     9
  > EOF
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
    10
#endif
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
    11
28389
9ab45fbe045e bdiff: (pure) support array.array arrays (issue5130)
timeless <timeless@mozdev.org>
parents: 27897
diff changeset
    12
Initialize repository
9ab45fbe045e bdiff: (pure) support array.array arrays (issue5130)
timeless <timeless@mozdev.org>
parents: 27897
diff changeset
    13
the status call is to check for issue5130
9ab45fbe045e bdiff: (pure) support array.array arrays (issue5130)
timeless <timeless@mozdev.org>
parents: 27897
diff changeset
    14
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    15
  $ hg init server
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    16
  $ cd server
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    17
  $ touch foo
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    18
  $ hg -q commit -A -m initial
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    19
  >>> for i in range(1024):
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    20
  ...     with open(str(i), 'wb') as fh:
37667
701c261fba83 py3: use b"%d" instead of str() to convert int to bytes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37349
diff changeset
    21
  ...         fh.write(b"%d" % i) and None
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    22
  $ hg -q commit -A -m 'add a lot of files'
28389
9ab45fbe045e bdiff: (pure) support array.array arrays (issue5130)
timeless <timeless@mozdev.org>
parents: 27897
diff changeset
    23
  $ hg st
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    24
  $ hg --config server.uncompressed=false serve -p $HGPORT -d --pid-file=hg.pid
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    25
  $ cat hg.pid > $DAEMON_PIDS
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    26
  $ cd ..
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    27
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    28
Cannot stream clone when server.uncompressed is set
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    29
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    30
  $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=stream_out'
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    31
  200 Script output follows
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    32
  
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    33
  1
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    34
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    35
#if stream-legacy
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    36
  $ hg debugcapabilities http://localhost:$HGPORT
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    37
  Main capabilities:
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    38
    batch
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    39
    branchmap
35792
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35791
diff changeset
    40
    $USUAL_BUNDLE2_CAPS_SERVER$
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    41
    changegroupsubset
35806
ab239e3de23b tests: add a pattern to fix --pure tests
Augie Fackler <augie@google.com>
parents: 35805
diff changeset
    42
    compression=$BUNDLE2_COMPRESSIONS$
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    43
    getbundle
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    44
    httpheader=1024
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    45
    httpmediatype=0.1rx,0.1tx,0.2tx
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    46
    known
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    47
    lookup
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    48
    pushkey
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    49
    unbundle=HG10GZ,HG10BZ,HG10UN
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    50
    unbundlehash
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    51
  Bundle2 capabilities:
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    52
    HG20
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    53
    bookmarks
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    54
    changegroup
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    55
      01
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    56
      02
44439
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42935
diff changeset
    57
    checkheads
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42935
diff changeset
    58
      related
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    59
    digests
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    60
      md5
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    61
      sha1
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    62
      sha512
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    63
    error
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    64
      abort
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    65
      unsupportedcontent
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    66
      pushraced
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    67
      pushkey
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    68
    hgtagsfnodes
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    69
    listkeys
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    70
    phases
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    71
      heads
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    72
    pushkey
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    73
    remote-changegroup
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    74
      http
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    75
      https
36974
2090044a288d revbranchcache: advertise and use 'rbc' exchange capability
Boris Feld <boris.feld@octobus.net>
parents: 35813
diff changeset
    76
    rev-branch-cache
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    77
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    78
  $ hg clone --stream -U http://localhost:$HGPORT server-disabled
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    79
  warning: stream clone requested but server has them disabled
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    80
  requesting all changes
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    81
  adding changesets
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    82
  adding manifests
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    83
  adding file changes
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    84
  added 2 changesets with 1025 changes to 1025 files
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    85
  new changesets 96ee1d7354c4:c17445101a72
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    86
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    87
  $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    88
  200 Script output follows
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    89
  content-type: application/mercurial-0.2
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    90
  
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    91
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    92
  $ f --size body --hexdump --bytes 100
35791
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
    93
  body: size=232
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
    94
  0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
35791
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
    95
  0010: cf 0b 45 52 52 4f 52 3a 41 42 4f 52 54 00 00 00 |..ERROR:ABORT...|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
    96
  0020: 00 01 01 07 3c 04 72 6d 65 73 73 61 67 65 73 74 |....<.rmessagest|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
    97
  0030: 72 65 61 6d 20 64 61 74 61 20 72 65 71 75 65 73 |ream data reques|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
    98
  0040: 74 65 64 20 62 75 74 20 73 65 72 76 65 72 20 64 |ted but server d|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
    99
  0050: 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 74 68 |oes not allow th|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
   100
  0060: 69 73 20 66                                     |is f|
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   101
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   102
#endif
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   103
#if stream-bundle2
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   104
  $ hg debugcapabilities http://localhost:$HGPORT
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   105
  Main capabilities:
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   106
    batch
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   107
    branchmap
35792
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35791
diff changeset
   108
    $USUAL_BUNDLE2_CAPS_SERVER$
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   109
    changegroupsubset
35806
ab239e3de23b tests: add a pattern to fix --pure tests
Augie Fackler <augie@google.com>
parents: 35805
diff changeset
   110
    compression=$BUNDLE2_COMPRESSIONS$
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   111
    getbundle
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   112
    httpheader=1024
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   113
    httpmediatype=0.1rx,0.1tx,0.2tx
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   114
    known
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   115
    lookup
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   116
    pushkey
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   117
    unbundle=HG10GZ,HG10BZ,HG10UN
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   118
    unbundlehash
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   119
  Bundle2 capabilities:
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   120
    HG20
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   121
    bookmarks
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   122
    changegroup
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   123
      01
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   124
      02
44439
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42935
diff changeset
   125
    checkheads
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42935
diff changeset
   126
      related
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   127
    digests
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   128
      md5
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   129
      sha1
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   130
      sha512
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   131
    error
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   132
      abort
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   133
      unsupportedcontent
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   134
      pushraced
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   135
      pushkey
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   136
    hgtagsfnodes
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   137
    listkeys
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   138
    phases
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   139
      heads
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   140
    pushkey
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   141
    remote-changegroup
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   142
      http
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   143
      https
36974
2090044a288d revbranchcache: advertise and use 'rbc' exchange capability
Boris Feld <boris.feld@octobus.net>
parents: 35813
diff changeset
   144
    rev-branch-cache
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   145
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   146
  $ hg clone --stream -U http://localhost:$HGPORT server-disabled
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   147
  warning: stream clone requested but server has them disabled
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   148
  requesting all changes
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   149
  adding changesets
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   150
  adding manifests
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   151
  adding file changes
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   152
  added 2 changesets with 1025 changes to 1025 files
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   153
  new changesets 96ee1d7354c4:c17445101a72
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   154
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   155
  $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   156
  200 Script output follows
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   157
  content-type: application/mercurial-0.2
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   158
  
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   159
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   160
  $ f --size body --hexdump --bytes 100
35791
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
   161
  body: size=232
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   162
  0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
35791
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
   163
  0010: cf 0b 45 52 52 4f 52 3a 41 42 4f 52 54 00 00 00 |..ERROR:ABORT...|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
   164
  0020: 00 01 01 07 3c 04 72 6d 65 73 73 61 67 65 73 74 |....<.rmessagest|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
   165
  0030: 72 65 61 6d 20 64 61 74 61 20 72 65 71 75 65 73 |ream data reques|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
   166
  0040: 74 65 64 20 62 75 74 20 73 65 72 76 65 72 20 64 |ted but server d|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
   167
  0050: 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 74 68 |oes not allow th|
9adae6a20e1f exchange: don't send stream data when server.uncompressed is set
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35790
diff changeset
   168
  0060: 69 73 20 66                                     |is f|
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   169
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   170
#endif
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   171
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   172
  $ killdaemons.py
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   173
  $ cd server
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   174
  $ hg serve -p $HGPORT -d --pid-file=hg.pid
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   175
  $ cat hg.pid > $DAEMON_PIDS
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   176
  $ cd ..
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   177
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   178
Basic clone
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   179
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   180
#if stream-legacy
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   181
  $ hg clone --stream -U http://localhost:$HGPORT clone1
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   182
  streaming all changes
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   183
  1027 files to transfer, 96.3 KB of data
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   184
  transferred 96.3 KB in * seconds (*/sec) (glob)
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   185
  searching for changes
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   186
  no changes found
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   187
#endif
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   188
#if stream-bundle2
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   189
  $ hg clone --stream -U http://localhost:$HGPORT clone1
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   190
  streaming all changes
40991
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   191
  1030 files to transfer, 96.5 KB of data
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   192
  transferred 96.5 KB in * seconds (* */sec) (glob)
35767
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   193
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   194
  $ ls -1 clone1/.hg/cache
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   195
  branch2-base
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   196
  branch2-immutable
35767
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   197
  branch2-served
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   198
  branch2-served.hidden
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   199
  branch2-visible
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   200
  branch2-visible-hidden
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   201
  hgtagsfnodes1
35767
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   202
  rbc-names-v1
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   203
  rbc-revs-v1
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   204
  tags2
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   205
  tags2-served
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   206
#endif
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   207
35787
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   208
getbundle requests with stream=1 are uncompressed
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   209
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   210
  $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto '0.1 0.2 comp=zlib,none' --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   211
  200 Script output follows
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   212
  content-type: application/mercurial-0.2
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   213
  
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   214
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   215
  $ f --size --hex --bytes 256 body
40991
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   216
  body: size=112262
35787
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   217
  0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
40908
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   218
  0010: 7f 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   219
  0020: 05 09 04 0c 44 62 79 74 65 63 6f 75 6e 74 39 38 |....Dbytecount98|
40991
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   220
  0030: 37 37 35 66 69 6c 65 63 6f 75 6e 74 31 30 33 30 |775filecount1030|
35788
b116a66bcc44 bundle2: move version of stream clone into part name
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35787
diff changeset
   221
  0040: 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 65 |requirementsdote|
35813
768326377e4d bundle2: fix the formatting of the stream part requirements
Boris Feld <boris.feld@octobus.net>
parents: 35806
diff changeset
   222
  0050: 6e 63 6f 64 65 25 32 43 66 6e 63 61 63 68 65 25 |ncode%2Cfncache%|
768326377e4d bundle2: fix the formatting of the stream part requirements
Boris Feld <boris.feld@octobus.net>
parents: 35806
diff changeset
   223
  0060: 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 25 32 |2Cgeneraldelta%2|
40908
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   224
  0070: 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 72 |Crevlogv1%2Cspar|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   225
  0080: 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 65 |serevlog%2Cstore|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   226
  0090: 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 00 |....s.Bdata/0.i.|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   227
  00a0: 03 00 01 00 00 00 00 00 00 00 02 00 00 00 01 00 |................|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   228
  00b0: 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff 80 |................|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   229
  00c0: 29 63 a0 49 d3 23 87 bf ce fe 56 67 92 67 2c 69 |)c.I.#....Vg.g,i|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   230
  00d0: d1 ec 39 00 00 00 00 00 00 00 00 00 00 00 00 75 |..9............u|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   231
  00e0: 30 73 08 42 64 61 74 61 2f 31 2e 69 00 03 00 01 |0s.Bdata/1.i....|
5db7efa238bd test: enable sparse-revlog for test-clone-uncompressed.t
Boris Feld <boris.feld@octobus.net>
parents: 40399
diff changeset
   232
  00f0: 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 |................|
35787
a84dbc87dae9 exchange: send bundle2 stream clones uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35767
diff changeset
   233
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   234
--uncompressed is an alias to --stream
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   235
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   236
#if stream-legacy
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   237
  $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   238
  streaming all changes
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   239
  1027 files to transfer, 96.3 KB of data
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   240
  transferred 96.3 KB in * seconds (*/sec) (glob)
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   241
  searching for changes
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   242
  no changes found
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   243
#endif
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   244
#if stream-bundle2
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   245
  $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   246
  streaming all changes
40991
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   247
  1030 files to transfer, 96.5 KB of data
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   248
  transferred 96.5 KB in * seconds (* */sec) (glob)
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   249
#endif
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   250
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   251
Clone with background file closing enabled
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   252
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   253
#if stream-legacy
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   254
  $ hg --debug --config worker.backgroundclose=true --config worker.backgroundcloseminfilecount=1 clone --stream -U http://localhost:$HGPORT clone-background | grep -v adding
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   255
  using http://localhost:$HGPORT/
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   256
  sending capabilities command
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   257
  sending branchmap command
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   258
  streaming all changes
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   259
  sending stream_out command
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   260
  1027 files to transfer, 96.3 KB of data
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   261
  starting 4 threads for background file closing
39328
5763216ba311 transaction: remember original len(repo) instead of tracking added revs (API)
Yuya Nishihara <yuya@tcha.org>
parents: 38063
diff changeset
   262
  updating the branch cache
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   263
  transferred 96.3 KB in * seconds (*/sec) (glob)
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   264
  query 1; heads
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   265
  sending batch command
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   266
  searching for changes
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   267
  all remote heads known locally
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   268
  no changes found
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   269
  sending getbundle command
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   270
  bundle2-input-bundle: with-transaction
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   271
  bundle2-input-part: "listkeys" (params: 1 mandatory) supported
34329
10e162bb9bf5 pull: use 'phase-heads' to retrieve phase information
Boris Feld <boris.feld@octobus.net>
parents: 32764
diff changeset
   272
  bundle2-input-part: "phase-heads" supported
10e162bb9bf5 pull: use 'phase-heads' to retrieve phase information
Boris Feld <boris.feld@octobus.net>
parents: 32764
diff changeset
   273
  bundle2-input-part: total payload size 24
42935
181ee2118a96 bundle2: fix an off-by-one in debug message of number of parts
Martin von Zweigbergk <martinvonz@google.com>
parents: 42899
diff changeset
   274
  bundle2-input-bundle: 2 parts total
27897
2fdbf22a1b63 streamclone: use backgroundfilecloser (issue4889)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   275
  checking for updated bookmarks
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   276
  updating the branch cache
40035
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39738
diff changeset
   277
  (sent 5 HTTP requests and * bytes; received * bytes in responses) (glob)
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   278
#endif
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   279
#if stream-bundle2
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   280
  $ hg --debug --config worker.backgroundclose=true --config worker.backgroundcloseminfilecount=1 clone --stream -U http://localhost:$HGPORT clone-background | grep -v adding
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   281
  using http://localhost:$HGPORT/
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   282
  sending capabilities command
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   283
  query 1; heads
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   284
  sending batch command
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   285
  streaming all changes
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   286
  sending getbundle command
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   287
  bundle2-input-bundle: with-transaction
35788
b116a66bcc44 bundle2: move version of stream clone into part name
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35787
diff changeset
   288
  bundle2-input-part: "stream2" (params: 3 mandatory) supported
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   289
  applying stream bundle
40991
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   290
  1030 files to transfer, 96.5 KB of data
35767
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   291
  starting 4 threads for background file closing
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   292
  starting 4 threads for background file closing
39328
5763216ba311 transaction: remember original len(repo) instead of tracking added revs (API)
Yuya Nishihara <yuya@tcha.org>
parents: 38063
diff changeset
   293
  updating the branch cache
40991
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   294
  transferred 96.5 KB in * seconds (* */sec) (glob)
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   295
  bundle2-input-part: total payload size 112094
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   296
  bundle2-input-part: "listkeys" (params: 1 mandatory) supported
42935
181ee2118a96 bundle2: fix an off-by-one in debug message of number of parts
Martin von Zweigbergk <martinvonz@google.com>
parents: 42899
diff changeset
   297
  bundle2-input-bundle: 2 parts total
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   298
  checking for updated bookmarks
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45077
diff changeset
   299
  updating the branch cache
40035
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39738
diff changeset
   300
  (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob)
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   301
#endif
28517
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   302
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   303
Cannot stream clone when there are secret changesets
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   304
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   305
  $ hg -R server phase --force --secret -r tip
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   306
  $ hg clone --stream -U http://localhost:$HGPORT secret-denied
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   307
  warning: stream clone requested but server has them disabled
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   308
  requesting all changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   309
  adding changesets
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   310
  adding manifests
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   311
  adding file changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   312
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   313
  new changesets 96ee1d7354c4
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   314
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   315
  $ killdaemons.py
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   316
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   317
Streaming of secrets can be overridden by server config
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   318
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   319
  $ cd server
34483
a6d95a8b7243 serve: make tests compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34394
diff changeset
   320
  $ hg serve --config server.uncompressedallowsecret=true -p $HGPORT -d --pid-file=hg.pid
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   321
  $ cat hg.pid > $DAEMON_PIDS
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   322
  $ cd ..
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   323
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   324
#if stream-legacy
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   325
  $ hg clone --stream -U http://localhost:$HGPORT secret-allowed
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   326
  streaming all changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   327
  1027 files to transfer, 96.3 KB of data
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   328
  transferred 96.3 KB in * seconds (*/sec) (glob)
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   329
  searching for changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   330
  no changes found
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   331
#endif
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   332
#if stream-bundle2
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   333
  $ hg clone --stream -U http://localhost:$HGPORT secret-allowed
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   334
  streaming all changes
40991
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   335
  1030 files to transfer, 96.5 KB of data
42f59d3f714d delta: exclude base candidate much smaller than the target
Boris Feld <boris.feld@octobus.net>
parents: 40937
diff changeset
   336
  transferred 96.5 KB in * seconds (* */sec) (glob)
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   337
#endif
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   338
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   339
  $ killdaemons.py
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   340
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   341
Verify interaction between preferuncompressed and secret presence
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   342
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   343
  $ cd server
34483
a6d95a8b7243 serve: make tests compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34394
diff changeset
   344
  $ hg serve --config server.preferuncompressed=true -p $HGPORT -d --pid-file=hg.pid
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   345
  $ cat hg.pid > $DAEMON_PIDS
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   346
  $ cd ..
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   347
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   348
  $ hg clone -U http://localhost:$HGPORT preferuncompressed-secret
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   349
  requesting all changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   350
  adding changesets
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   351
  adding manifests
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   352
  adding file changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   353
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   354
  new changesets 96ee1d7354c4
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   355
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   356
  $ killdaemons.py
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   357
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   358
Clone not allowed when full bundles disabled and can't serve secrets
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   359
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   360
  $ cd server
34483
a6d95a8b7243 serve: make tests compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34394
diff changeset
   361
  $ hg serve --config server.disablefullbundle=true -p $HGPORT -d --pid-file=hg.pid
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   362
  $ cat hg.pid > $DAEMON_PIDS
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   363
  $ cd ..
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   364
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   365
  $ hg clone --stream http://localhost:$HGPORT secret-full-disabled
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   366
  warning: stream clone requested but server has them disabled
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   367
  requesting all changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   368
  remote: abort: server has pull-based clones disabled
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   369
  abort: pull failed on remote
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   370
  (remove --pull if specified or upgrade Mercurial)
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   371
  [255]
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   372
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   373
Local stream clone with secrets involved
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   374
(This is just a test over behavior: if you have access to the repo's files,
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   375
there is no security so it isn't important to prevent a clone here.)
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   376
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   377
  $ hg clone -U --stream server local-secret
32764
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   378
  warning: stream clone requested but server has them disabled
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   379
  requesting all changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   380
  adding changesets
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   381
  adding manifests
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   382
  adding file changes
33b7283a3828 streamclone: consider secret changesets (BC) (issue5589)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31262
diff changeset
   383
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
   384
  new changesets 96ee1d7354c4
28517
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   385
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   386
Stream clone while repo is changing:
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   387
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   388
  $ mkdir changing
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   389
  $ cd changing
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   390
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   391
extension for delaying the server process so we reliably can modify the repo
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   392
while cloning
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   393
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   394
  $ cat > delayer.py <<EOF
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   395
  > import time
31262
e7a35f18d91f vfs: use 'vfs' module directly in 'test-clone-uncompressed'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29064
diff changeset
   396
  > from mercurial import extensions, vfs
28517
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   397
  > def __call__(orig, self, path, *args, **kwargs):
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   398
  >     if path == 'data/f1.i':
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   399
  >         time.sleep(2)
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   400
  >     return orig(self, path, *args, **kwargs)
31262
e7a35f18d91f vfs: use 'vfs' module directly in 'test-clone-uncompressed'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29064
diff changeset
   401
  > extensions.wrapfunction(vfs.vfs, '__call__', __call__)
28517
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   402
  > EOF
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   403
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   404
prepare repo with small and big file to cover both code paths in emitrevlogdata
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   405
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   406
  $ hg init repo
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   407
  $ touch repo/f1
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   408
  $ $TESTDIR/seq.py 50000 > repo/f2
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   409
  $ hg -R repo ci -Aqm "0"
34483
a6d95a8b7243 serve: make tests compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34394
diff changeset
   410
  $ hg serve -R repo -p $HGPORT1 -d --pid-file=hg.pid --config extensions.delayer=delayer.py
28517
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   411
  $ cat hg.pid >> $DAEMON_PIDS
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   412
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   413
clone while modifying the repo between stating file with write lock and
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   414
actually serving file content
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   415
34394
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34329
diff changeset
   416
  $ hg clone -q --stream -U http://localhost:$HGPORT1 clone &
28517
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   417
  $ sleep 1
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   418
  $ echo >> repo/f1
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   419
  $ echo >> repo/f2
45077
23119371df5e test-clone-uncompressed: use config to silence the lock warning
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45031
diff changeset
   420
  $ hg -R repo ci -m "1" --config ui.timeout.warn=-1
28517
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   421
  $ wait
95163ababeb8 tests: add test of stream clone of repo that is changing
Mads Kiilerich <madski@unity3d.com>
parents: 28389
diff changeset
   422
  $ hg -R clone id
28518
aa440c3d7c5d streamclone: fix error when store files grow while stream cloning
Mads Kiilerich <madski@unity3d.com>
parents: 28517
diff changeset
   423
  000000000000
35747
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   424
  $ cd ..
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   425
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   426
Stream repository with bookmarks
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   427
--------------------------------
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   428
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   429
(revert introduction of secret changeset)
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   430
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   431
  $ hg -R server phase --draft 'secret()'
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   432
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   433
add a bookmark
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   434
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   435
  $ hg -R server bookmark -r tip some-bookmark
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   436
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   437
clone it
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   438
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   439
#if stream-legacy
35747
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   440
  $ hg clone --stream http://localhost:$HGPORT with-bookmarks
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   441
  streaming all changes
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   442
  1027 files to transfer, 96.3 KB of data
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   443
  transferred 96.3 KB in * seconds (*) (glob)
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   444
  searching for changes
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   445
  no changes found
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   446
  updating to branch default
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   447
  1025 files updated, 0 files merged, 0 files removed, 0 files unresolved
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   448
#endif
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   449
#if stream-bundle2
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   450
  $ hg clone --stream http://localhost:$HGPORT with-bookmarks
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   451
  streaming all changes
35767
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   452
  1033 files to transfer, 96.6 KB of data
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   453
  transferred 96.6 KB in * seconds (* */sec) (glob)
35763
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   454
  updating to branch default
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   455
  1025 files updated, 0 files merged, 0 files removed, 0 files unresolved
7eedbd5d4880 streamclone: add support for bundle2 based stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35747
diff changeset
   456
#endif
35747
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   457
  $ hg -R with-bookmarks bookmarks
de32acb24949 stream: add a test showing we also clone bookmarks
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   458
     some-bookmark             1:c17445101a72
35764
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   459
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   460
Stream repository with phases
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   461
-----------------------------
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   462
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   463
Clone as publishing
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   464
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   465
  $ hg -R server phase -r 'all()'
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   466
  0: draft
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   467
  1: draft
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   468
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   469
#if stream-legacy
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   470
  $ hg clone --stream http://localhost:$HGPORT phase-publish
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   471
  streaming all changes
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   472
  1027 files to transfer, 96.3 KB of data
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   473
  transferred 96.3 KB in * seconds (*) (glob)
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   474
  searching for changes
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   475
  no changes found
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   476
  updating to branch default
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   477
  1025 files updated, 0 files merged, 0 files removed, 0 files unresolved
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   478
#endif
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   479
#if stream-bundle2
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   480
  $ hg clone --stream http://localhost:$HGPORT phase-publish
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   481
  streaming all changes
35767
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   482
  1033 files to transfer, 96.6 KB of data
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   483
  transferred 96.6 KB in * seconds (* */sec) (glob)
35764
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   484
  updating to branch default
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   485
  1025 files updated, 0 files merged, 0 files removed, 0 files unresolved
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   486
#endif
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   487
  $ hg -R phase-publish phase -r 'all()'
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   488
  0: public
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   489
  1: public
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   490
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   491
Clone as non publishing
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   492
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   493
  $ cat << EOF >> server/.hg/hgrc
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   494
  > [phases]
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   495
  > publish = False
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   496
  > EOF
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   497
  $ killdaemons.py
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   498
  $ hg -R server serve -p $HGPORT -d --pid-file=hg.pid
35789
8ed5f7609728 tests: add more testing around server.uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35788
diff changeset
   499
  $ cat hg.pid > $DAEMON_PIDS
35764
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   500
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   501
#if stream-legacy
35805
784ac51f8bab streamclone: add a comment about non-publishing being broken with v1
Boris Feld <boris.feld@octobus.net>
parents: 35793
diff changeset
   502
784ac51f8bab streamclone: add a comment about non-publishing being broken with v1
Boris Feld <boris.feld@octobus.net>
parents: 35793
diff changeset
   503
With v1 of the stream protocol, changeset are always cloned as public. It make
784ac51f8bab streamclone: add a comment about non-publishing being broken with v1
Boris Feld <boris.feld@octobus.net>
parents: 35793
diff changeset
   504
stream v1 unsuitable for non-publishing repository.
784ac51f8bab streamclone: add a comment about non-publishing being broken with v1
Boris Feld <boris.feld@octobus.net>
parents: 35793
diff changeset
   505
35764
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   506
  $ hg clone --stream http://localhost:$HGPORT phase-no-publish
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   507
  streaming all changes
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   508
  1027 files to transfer, 96.3 KB of data
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   509
  transferred 96.3 KB in * seconds (*) (glob)
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   510
  searching for changes
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   511
  no changes found
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   512
  updating to branch default
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   513
  1025 files updated, 0 files merged, 0 files removed, 0 files unresolved
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   514
  $ hg -R phase-no-publish phase -r 'all()'
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   515
  0: public
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   516
  1: public
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   517
#endif
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   518
#if stream-bundle2
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   519
  $ hg clone --stream http://localhost:$HGPORT phase-no-publish
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   520
  streaming all changes
35767
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   521
  1034 files to transfer, 96.7 KB of data
5f5fb279fd39 streamclone: also stream caches to the client
Boris Feld <boris.feld@octobus.net>
parents: 35765
diff changeset
   522
  transferred 96.7 KB in * seconds (* */sec) (glob)
35764
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   523
  updating to branch default
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   524
  1025 files updated, 0 files merged, 0 files removed, 0 files unresolved
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   525
  $ hg -R phase-no-publish phase -r 'all()'
35765
56c30b31afbe streamclone: add support for cloning non append-only file
Boris Feld <boris.feld@octobus.net>
parents: 35764
diff changeset
   526
  0: draft
56c30b31afbe streamclone: add support for cloning non append-only file
Boris Feld <boris.feld@octobus.net>
parents: 35764
diff changeset
   527
  1: draft
35764
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   528
#endif
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   529
b6ffd4194639 streamclone: tests phase exchange during stream clone
Boris Feld <boris.feld@octobus.net>
parents: 35763
diff changeset
   530
  $ killdaemons.py
40398
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   531
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   532
#if stream-legacy
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   533
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   534
With v1 of the stream protocol, changeset are always cloned as public. There's
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   535
no obsolescence markers exchange in stream v1.
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   536
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   537
#endif
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   538
#if stream-bundle2
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   539
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   540
Stream repository with obsolescence
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   541
-----------------------------------
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   542
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   543
Clone non-publishing with obsolescence
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   544
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   545
  $ cat >> $HGRCPATH << EOF
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   546
  > [experimental]
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   547
  > evolution=all
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   548
  > EOF
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   549
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   550
  $ cd server
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   551
  $ echo foo > foo
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   552
  $ hg -q commit -m 'about to be pruned'
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   553
  $ hg debugobsolete `hg log -r . -T '{node}'` -d '0 0' -u test --record-parents
42899
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40991
diff changeset
   554
  1 new obsolescence markers
40398
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   555
  obsoleted 1 changesets
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   556
  $ hg up null -q
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   557
  $ hg log -T '{rev}: {phase}\n'
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   558
  1: draft
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   559
  0: draft
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   560
  $ hg serve -p $HGPORT -d --pid-file=hg.pid
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   561
  $ cat hg.pid > $DAEMON_PIDS
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   562
  $ cd ..
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   563
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   564
  $ hg clone -U --stream http://localhost:$HGPORT with-obsolescence
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   565
  streaming all changes
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   566
  1035 files to transfer, 97.1 KB of data
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   567
  transferred 97.1 KB in * seconds (* */sec) (glob)
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   568
  $ hg -R with-obsolescence log -T '{rev}: {phase}\n'
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   569
  1: draft
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   570
  0: draft
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   571
  $ hg debugobsolete -R with-obsolescence
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   572
  50382b884f66690b7045cac93a540cba4d4c906f 0 {c17445101a72edac06facd130d14808dfbd5c7c2} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   573
40399
4ab6e7b4fe8a streamclone: abort when client needs to handle obsmarkers, but doesn't
Anton Shestakov <av6@dwimlabs.net>
parents: 40398
diff changeset
   574
  $ hg clone -U --stream --config experimental.evolution=0 http://localhost:$HGPORT with-obsolescence-no-evolution
4ab6e7b4fe8a streamclone: abort when client needs to handle obsmarkers, but doesn't
Anton Shestakov <av6@dwimlabs.net>
parents: 40398
diff changeset
   575
  streaming all changes
4ab6e7b4fe8a streamclone: abort when client needs to handle obsmarkers, but doesn't
Anton Shestakov <av6@dwimlabs.net>
parents: 40398
diff changeset
   576
  remote: abort: server has obsolescence markers, but client cannot receive them via stream clone
4ab6e7b4fe8a streamclone: abort when client needs to handle obsmarkers, but doesn't
Anton Shestakov <av6@dwimlabs.net>
parents: 40398
diff changeset
   577
  abort: pull failed on remote
4ab6e7b4fe8a streamclone: abort when client needs to handle obsmarkers, but doesn't
Anton Shestakov <av6@dwimlabs.net>
parents: 40398
diff changeset
   578
  [255]
4ab6e7b4fe8a streamclone: abort when client needs to handle obsmarkers, but doesn't
Anton Shestakov <av6@dwimlabs.net>
parents: 40398
diff changeset
   579
40398
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   580
  $ killdaemons.py
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   581
0ac794e0e285 streamclone: include obsstore file into stream bundle if client can read it
Anton Shestakov <av6@dwimlabs.net>
parents: 40035
diff changeset
   582
#endif