view tests/test-merge-force.t @ 19190:b03952ee634d

dirstate.walk: add a flag to let extensions avoid full walks Consider a hypothetical extension that implements walk in a more efficient manner and skips some known-clean files. However, that can only be done under some situations, such as when clean files are not being asked for and a match.traversedir callback is not set. The full flag lets walk tell these two cases apart.
author Siddharth Agarwal <sid0@fb.com>
date Mon, 22 Apr 2013 17:11:18 -0700
parents 6c8573dd1b6b
children 94c394653b2a
line wrap: on
line source

  $ hg init

  $ echo a > a
  $ hg ci -qAm 'add a'

  $ echo b > b
  $ hg ci -qAm 'add b'

  $ hg up -qC 0
  $ hg rm a
  $ hg ci -m 'rm a'
  created new head

  $ hg up -qC 1
  $ rm a

Local deleted a file, remote removed

Should fail, since there are deleted files:

  $ hg merge
  abort: outstanding uncommitted changes
  (use 'hg status' to list changes)
  [255]

Should succeed with --force:

  $ hg -v merge --force
  resolving manifests
  removing a
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  (branch merge, don't forget to commit)

Should show 'a' as removed:

  $ hg status
  R a

  $ hg ci -m merge

Should not show 'a':

  $ hg manifest
  b