view tests/test-simple-update.t @ 44941:edd08aa193fb

files: extract code for extra filtering of the `removed` entry into copies We want to reduce the set of `removed` files that to the set of files actually removed. That `removed` set is used as of the changeset centric algorithm, having smaller sets means less processing and faster computation. In this changeset we extract the code to be a function of it own. We will make use of it in the next changesets. Differential Revision: https://phab.mercurial-scm.org/D8588
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 27 May 2020 12:45:39 +0200
parents d29db0a0c4eb
children 65960fe9a769
line wrap: on
line source

  $ hg init test
  $ cd test
  $ echo foo>foo
  $ hg addremove
  adding foo
  $ hg commit -m "1"

  $ hg verify
  checking changesets
  checking manifests
  crosschecking files in changesets and manifests
  checking files
  checked 1 changesets with 1 changes to 1 files

  $ hg clone . ../branch
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd ../branch
  $ hg co
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ echo bar>>foo
  $ hg commit -m "2"

  $ cd ../test

  $ hg pull ../branch
  pulling from ../branch
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 1 changes to 1 files
  new changesets 30aff43faee1
  1 local changesets published
  (run 'hg update' to get a working copy)

  $ hg verify
  checking changesets
  checking manifests
  crosschecking files in changesets and manifests
  checking files
  checked 2 changesets with 2 changes to 1 files

  $ hg co
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved

  $ cat foo
  foo
  bar

  $ hg manifest --debug
  6f4310b00b9a147241b071a60c28a650827fb03d 644   foo

update to rev 0 with a date

  $ hg upd -d foo 0
  abort: you can't specify a revision and a date
  [255]

update to default destination (with empty revspec)

  $ hg update -q null
  $ hg update
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg id
  30aff43faee1 tip

  $ hg update -q null
  $ hg update -r ''
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg id
  30aff43faee1 tip

  $ hg update -q null
  $ hg update ''
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg id
  30aff43faee1 tip

  $ cd ..

update with worker processes

#if no-windows

  $ cat <<EOF > forceworker.py
  > from mercurial import extensions, worker
  > def nocost(orig, ui, costperop, nops, threadsafe=True):
  >     return worker._numworkers(ui) > 1
  > def uisetup(ui):
  >     extensions.wrapfunction(worker, 'worthwhile', nocost)
  > EOF

  $ hg init worker
  $ cd worker
  $ cat <<EOF >> .hg/hgrc
  > [extensions]
  > forceworker = $TESTTMP/forceworker.py
  > [worker]
  > numcpus = 4
  > EOF
  $ for i in `"$PYTHON" $TESTDIR/seq.py 1 100`; do
  >   echo $i > $i
  > done
  $ hg ci -qAm 'add 100 files'

  $ hg update null
  0 files updated, 0 files merged, 100 files removed, 0 files unresolved
  $ hg update -v | grep 100
  getting 100
  100 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg status

  $ cd ..

#endif