[PATCH 2 of 4 stable?] tests: add test-issue3084.t cases for 'changed but same' as for 'unchanged'

Mads Kiilerich mads at kiilerich.com
Sun Nov 30 19:32:59 CST 2014


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1417396277 -3600
#      Mon Dec 01 02:11:17 2014 +0100
# Branch stable
# Node ID 81d67e247859b14e2c7cfb179bd94ccd70cf3bbb
# Parent  87043596cf6bb6610e957669fa0112852e84dfa8
tests: add test-issue3084.t cases for 'changed but same' as for 'unchanged'

Use suffix -same for cases where file changed but content is the same - that is
the case where manifestmerge doesn't detect that a file is unchanged.

(The suffix -id is already used for cases where the file didn't change - that
is the trivial case where manifestmerge detects that the file is unchanged.)

These new tests are good but the results are bad. There shouldn't be any merge
conflicts or prompts when one side didn't change.

diff --git a/tests/test-issue3084.t b/tests/test-issue3084.t
--- a/tests/test-issue3084.t
+++ b/tests/test-issue3084.t
@@ -181,6 +181,9 @@ prepare cases with "normal" ancestor:
   $ echo normal2 > f
   $ hg ci -m "normal2"
   $ hg tag -l "normal2"
+  $ echo normal > f
+  $ hg ci -Aqm "normal-same"
+  $ hg tag -l "normal-same"
   $ hg up -qr "normal-ancestor"
   $ hg rm f
   $ echo large > f
@@ -201,6 +204,9 @@ prepare cases with "large" ancestor:
   $ echo large2 > f
   $ hg ci -m "large2"
   $ hg tag -l "large2"
+  $ echo large > f
+  $ hg ci -Aqm "large-same"
+  $ hg tag -l "large-same"
   $ hg up -qr "large-ancestor"
   $ hg rm f
   $ echo normal > f
@@ -210,6 +216,8 @@ prepare cases with "large" ancestor:
   $ hg log -GT '{tags}'
   @  normal tip
   |
+  | o  large-same
+  | |
   | o  large2
   | |
   | o  large-id
@@ -218,6 +226,8 @@ prepare cases with "large" ancestor:
   
   o  large
   |
+  | o  normal-same
+  | |
   | o  normal2
   | |
   | o  normal-id
@@ -248,6 +258,36 @@ swap
   $ cat f
   large
 
+Ancestor: normal  Parent: normal-same  Parent: large   result: large
+
+  $ hg up -Cqr normal-same
+  $ hg merge -r large
+  local changed f which remote deleted
+  use (c)hanged version or (d)elete? c
+  remote turned local normal file f into a largefile
+  use (l)argefile or keep (n)ormal file? l
+  getting changed largefiles
+  1 largefiles updated, 0 removed
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ cat f
+  large
+
+swap
+
+  $ hg up -Cqr large
+  $ hg merge -r normal-same
+  remote changed f which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote turned local largefile f into a normal file
+  keep (l)argefile or use (n)ormal file? l
+  getting changed largefiles
+  1 largefiles updated, 0 removed
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ cat f
+  large
+
 Ancestor: normal  Parent: normal2  Parent: large   result: ?
 (annoying extra prompt ... but it do not do any serious harm)
 
@@ -347,6 +387,36 @@ swap
   $ cat f
   normal
 
+Ancestor: large   Parent: large-same   Parent: normal  result: normal
+
+  $ hg up -Cqr large-same
+  $ hg merge -r normal
+  local changed .hglf/f which remote deleted
+  use (c)hanged version or (d)elete? c
+  remote turned local largefile f into a normal file
+  keep (l)argefile or use (n)ormal file? l
+  getting changed largefiles
+  1 largefiles updated, 0 removed
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ cat f
+  large
+
+swap
+
+  $ hg up -Cqr normal
+  $ hg merge -r large-same
+  remote changed .hglf/f which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote turned local normal file f into a largefile
+  use (l)argefile or keep (n)ormal file? l
+  getting changed largefiles
+  1 largefiles updated, 0 removed
+  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ cat f
+  large
+
 Ancestor: large   Parent: large2   Parent: normal  result: ?
 (annoying extra prompt ... but it do not do any serious harm)
 


More information about the Mercurial-devel mailing list