view tests/test-clone-update-order.t @ 48448:62e6222cc5b6

upgrade: only process revlogs that needs it by default We have more and more requirement that does not affect revlog or that only affect some of them. It is silly to force a full processing of all revlog to juste move the requirement around, or to simply rewrite the dirstate. So now, only the revlog that needs to be touched will be touched. Unless the --changelog & al flags are used. Differential Revision: https://phab.mercurial-scm.org/D11871
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 06 Dec 2021 17:54:39 +0100
parents 8d72e29ad1e0
children 55c6ebd11cb9
line wrap: on
line source

  $ hg init
  $ echo foo > bar
  $ hg commit -Am default
  adding bar
  $ hg up -r null
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  $ hg branch mine
  marked working directory as branch mine
  (branches are permanent and global, did you want a bookmark?)
  $ echo hello > world
  $ hg commit -Am hello
  adding world
  $ hg up -r null
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  $ hg branch other
  marked working directory as branch other
  $ echo good > bye
  $ hg commit -Am other
  adding bye
  $ hg up -r mine
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved

  $ hg clone -U -u . .#other ../b -r 0 -r 1 -r 2 -b other
  abort: cannot specify both --noupdate and --updaterev
  [10]

  $ hg clone -U .#other ../b -r 0 -r 1 -r 2 -b other
  adding changesets
  adding manifests
  adding file changes
  added 3 changesets with 3 changes to 3 files (+2 heads)
  new changesets 8c68ee086fd0:fcc393352796
  $ rm -rf ../b

  $ hg clone -u . .#other ../b -r 0 -r 1 -r 2 -b other
  adding changesets
  adding manifests
  adding file changes
  added 3 changesets with 3 changes to 3 files (+2 heads)
  new changesets 8c68ee086fd0:fcc393352796
  updating to branch mine
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm -rf ../b

  $ hg clone -u 0 .#other ../b -r 0 -r 1 -r 2 -b other
  adding changesets
  adding manifests
  adding file changes
  added 3 changesets with 3 changes to 3 files (+2 heads)
  new changesets 8c68ee086fd0:fcc393352796
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm -rf ../b

  $ hg clone -u 1 .#other ../b -r 0 -r 1 -r 2 -b other
  adding changesets
  adding manifests
  adding file changes
  added 3 changesets with 3 changes to 3 files (+2 heads)
  new changesets 8c68ee086fd0:fcc393352796
  updating to branch mine
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm -rf ../b

  $ hg clone -u 2 .#other ../b -r 0 -r 1 -r 2 -b other
  adding changesets
  adding manifests
  adding file changes
  added 3 changesets with 3 changes to 3 files (+2 heads)
  new changesets 8c68ee086fd0:fcc393352796
  updating to branch other
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm -rf ../b

Test -r mine ... mine is ignored:

  $ hg clone -u 2 .#other ../b -r mine -r 0 -r 1 -r 2 -b other
  adding changesets
  adding manifests
  adding file changes
  added 3 changesets with 3 changes to 3 files (+2 heads)
  new changesets 8c68ee086fd0:fcc393352796
  updating to branch other
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm -rf ../b

  $ hg clone .#other ../b -b default -b mine
  adding changesets
  adding manifests
  adding file changes
  added 3 changesets with 3 changes to 3 files (+2 heads)
  new changesets 8c68ee086fd0:fcc393352796
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm -rf ../b

  $ hg clone .#other ../b
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 1 changes to 1 files
  new changesets fcc393352796
  updating to branch other
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm -rf ../b

  $ hg clone -U . ../c -r 1 -r 2 > /dev/null
  $ hg clone ../c ../b
  updating to branch other
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm -rf ../b ../c