view tests/test-merge-force.t @ 19406:3185b347ae98

worker: check problem state correctly (issue3982) If a large update triggered an abort, it was possible for the main thread to still update the dirstate. This fix is incomplete, as the failing worker now doesn't generate a proper error message. This is difficult in the fork-based framework, which relies on exceptions propagating to the top of the dispatcher for formatting.
author Matt Mackall <mpm@selenic.com>
date Tue, 16 Jul 2013 11:53:53 -0500
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