tests: add test-issue3084.t cases for 'changed but same' as for 'unchanged' stable
authorMads Kiilerich <madski@unity3d.com>
Mon, 01 Dec 2014 02:11:17 +0100
branchstable
changeset 23418 c90d9ab6777a
parent 23417 442bb30171db
child 23419 a34a99181f36
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.
tests/test-issue3084.t
--- a/tests/test-issue3084.t	Mon Dec 01 02:10:57 2014 +0100
+++ b/tests/test-issue3084.t	Mon Dec 01 02:11:17 2014 +0100
@@ -181,6 +181,9 @@
   $ 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 @@
   $ 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 @@
   $ hg log -GT '{tags}'
   @  normal tip
   |
+  | o  large-same
+  | |
   | o  large2
   | |
   | o  large-id
@@ -218,6 +226,8 @@
   
   o  large
   |
+  | o  normal-same
+  | |
   | o  normal2
   | |
   | o  normal-id
@@ -248,6 +258,36 @@
   $ 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 @@
   $ 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)