tests/test-addremove.t
author Patrick Mezard <pmezard@gmail.com>
Wed, 16 Nov 2011 12:53:10 +0100
branchstable
changeset 15511 6cae68a361ed
parent 13962 8b252e826c68
child 15444 e1f05d7a8c7b
permissions -rw-r--r--
import: fix parent selection when importing merges With "wp1" and "wp2" the current working directory parents, "p1" and "p2" the patch parents and "parents" the resulting commit parents, the current behaviour is: --bypass --exact p2 parents 0 0 0 [wp1, wp2] 0 0 1 [wp1, wp2]/buggy 0 1 0 [p1] 0 1 1 [p1, p2] 1 0 0 [wp1, wp2] 1 0 1 [p1, p2] 1 1 0 [p1] 1 1 1 [p1, p2] The original behaviour before f53dc0787424 was: --bypass --exact p2 parents 0 0 0 [wp1, wp2] 0 0 1 if p1 == wp1 then [p1, p2] otherwise [wp1, wp2] 0 1 0 [p1] 0 1 1 [p1, p2] This patch restores the previous behaviour when --bypass is not set, and align --bypass behaviour when --exact is not set with merge diffs.

  $ hg init rep
  $ cd rep
  $ mkdir dir
  $ touch foo dir/bar
  $ hg -v addremove
  adding dir/bar
  adding foo
  $ hg -v commit -m "add 1"
  dir/bar
  foo
  committed changeset 0:6f7f953567a2
  $ cd dir/
  $ touch ../foo_2 bar_2 con.xml
  $ hg -v addremove
  adding dir/bar_2
  adding dir/con.xml
  adding foo_2
  warning: filename contains 'con', which is reserved on Windows: 'dir/con.xml'
  $ hg -v commit -m "add 2"
  dir/bar_2
  dir/con.xml
  foo_2
  committed changeset 1:6bb597da00f1

  $ cd ..
  $ hg init sim
  $ cd sim
  $ echo a > a
  $ echo a >> a
  $ echo a >> a
  $ echo c > c
  $ hg commit -Ama
  adding a
  adding c
  $ mv a b
  $ rm c
  $ echo d > d
  $ hg addremove -n -s 50 # issue 1696
  removing a
  adding b
  removing c
  adding d
  recording removal of a as rename to b (100% similar)
  $ hg addremove -s 50
  removing a
  adding b
  removing c
  adding d
  recording removal of a as rename to b (100% similar)
  $ hg commit -mb