view tests/test-merge-force.t @ 20589:31993cd23b11 stable

merge: change the merge state serialisation to use a record based logic The format of the file is unchanged. But we are preparing a new file with a new format that would be record based. So we change all the read/write logic to handle a list of record until a very low level. This will allow simple plugging of the new format in the current code.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Thu, 27 Feb 2014 12:59:41 -0800
parents 94c394653b2a
children eeecf29cc397
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: 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