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

login
register
mail settings
Submitter Mads Kiilerich
Date Dec. 1, 2014, 1:32 a.m.
Message ID <81d67e247859b14e2c7c.1417397579@localhost.localdomain>
Download mbox | patch
Permalink /patch/6923/
State Accepted
Commit c90d9ab6777ab8a0fdf5cdcc4918237d7d6aef2b
Headers show

Comments

Mads Kiilerich - Dec. 1, 2014, 1:32 a.m.
# HG changeset patch
# User Mads Kiilerich <madski@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.

Patch

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)