view tests/test-merge-force.t @ 14485:610873cf064a

Make pull -u behave like pull && update Previously, pull would not update if new branch heads were received, whereas pull && update would move to the tipmost branch head. Also change the "crosses branches" abort in merge.update from "crosses branches (merge branches or use --check to force update)" to "crosses branches (merge branches or update --check to force update)" since it can no longer assume the user is running hg update.
author Brendan Cully <brendan@kublai.com>
date Tue, 31 May 2011 11:52:22 -0700
parents 4134686b83e1
children 6c8573dd1b6b
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