# HG changeset patch # User Mads Kiilerich # Date 2014-12-01 01:11:17 # Node ID c90d9ab6777ab8a0fdf5cdcc4918237d7d6aef2b # Parent 442bb30171db40c9a9a97b39620defe505714132 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)