view tests/test-update-dest.t @ 35767:5f5fb279fd39

streamclone: also stream caches to the client When stream clone is used over bundle2, relevant cache files are also streamed. This is expected to be a massive performance win for clone since no important cache will have to be recomputed. Some performance numbers: (All times are wall-clock times in seconds, 2 attempts per case.) # Mozilla-Central ## Clone over ssh over lan V1 streaming: 234.3 239.6 V2 streaming: 248.4 243.7 ## Clone over ssh over Internet V1 streaming: 175.5 110.9 V2 streaming: 109.1 111.0 ## Clone over HTTP over lan V1 streaming: 105.3 105.6 V2 streaming: 112.7 111.4 ## Clone over HTTP over internet V1 streaming: 105.6 114.6 V2 streaming: 226.7 225.9 ## Hg tags V1 streaming (no cache): 1.084 1.071 V2 streaming (cache): 0.312 0.325 ## Hg branches V1 streaming (no cache): 14.047 14.148 V2 streaming (with cache): 0.312 0.333 # Pypy ## Clone over ssh over internet V1 streaming: 29.4 30.1 V2 streaming: 31.2 30.1 ## Clone over http over internet V1 streaming: 29.7 29.7 V2 streaming: 75.2 72.9 (since ssh and lan are not affected, there seems to be an issue with how we read/write the http stream on connection with latency, unrelated to the format) ## Hg tags V1 streaming (no cache): 1.752 1.664 V2 streaming (with cache): 0.274 0.260 ## Hg branches V1 streaming (no cache): 4.469 4.728 V2 streaming (with cache): 0.318 0.321 # Private repository: * 500K revision revisions * 11K topological heads * 28K branch heads ## hg tags no cache: 1543.332 with cache: 4.900 ## hg branches no cache: 91.828 with cache: 2.955
author Boris Feld <boris.feld@octobus.net>
date Thu, 18 Jan 2018 00:50:12 +0100
parents eb586ed5d8ce
children 8d72e29ad1e0
line wrap: on
line source

Test update.requiredest
  $ cd $TESTTMP
  $ cat >> $HGRCPATH <<EOF
  > [commands]
  > update.requiredest = True
  > EOF
  $ hg init repo
  $ cd repo
  $ echo a >> a
  $ hg commit -qAm aa
  $ hg up
  abort: you must specify a destination
  (for example: hg update ".::")
  [255]
  $ hg up .
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ HGPLAIN=1 hg up
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg --config commands.update.requiredest=False up
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved

  $ cd ..

Check update.requiredest interaction with pull --update
  $ hg clone repo clone
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd repo
  $ echo a >> a
  $ hg commit -qAm aa
  $ cd ../clone
  $ hg pull --update
  abort: update destination required by configuration
  (use hg pull followed by hg update DEST)
  [255]

  $ cd ..

update.requiredest should silent the "hg update" text after pull
  $ hg init repo1
  $ cd repo1
  $ hg pull ../repo
  pulling from ../repo
  requesting all changes
  adding changesets
  adding manifests
  adding file changes
  added 2 changesets with 2 changes to 1 files
  new changesets 8f0162e483d0:048c2cb95949