view tests/test-diff-antipatience.t @ 44909:d452acc8cce8 stable

flags: account for flag change when tracking rename relevant to merge There are some logic filtering rename to the one relevant to the merge. That logic was oblivious of flag change, leading to exec flag being dropped when merged with a renamed. There are two others bugs affecting this scenario. This patch fix the was where there is not modification involved except for the flag change. Fixes for the other bug are coming in later changesets. Differential Revision: https://phab.mercurial-scm.org/D8531
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 16 May 2020 20:37:56 +0200
parents 9ef9884e5d50
children
line wrap: on
line source

#testcases bdiff xdiff

#if xdiff
#require xdiff
  $ cat >> $HGRCPATH <<EOF
  > [experimental]
  > xdiff = true
  > EOF
#endif

Test case that makes use of the weakness of patience diff algorithm

  $ hg init
  >>> open('a', 'wb').write(('\n'.join(list('a' + 'x' * 10 + 'u' + 'x' * 30 + 'a\n'))).encode('ascii')) and None
  $ hg commit -m 1 -A a
  >>> open('a', 'wb').write(('\n'.join(list('b' + 'x' * 30 + 'u' + 'x' * 10 + 'b\n'))).encode('ascii')) and None
#if xdiff
  $ hg diff
  diff -r f0aeecb49805 a
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,4 +1,4 @@
  -a
  +b
   x
   x
   x
  @@ -9,7 +9,6 @@
   x
   x
   x
  -u
   x
   x
   x
  @@ -30,6 +29,7 @@
   x
   x
   x
  +u
   x
   x
   x
  @@ -40,5 +40,5 @@
   x
   x
   x
  -a
  +b
   
#else
  $ hg diff
  diff -r f0aeecb49805 a
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,15 +1,4 @@
  -a
  -x
  -x
  -x
  -x
  -x
  -x
  -x
  -x
  -x
  -x
  -u
  +b
   x
   x
   x
  @@ -40,5 +29,16 @@
   x
   x
   x
  -a
  +u
  +x
  +x
  +x
  +x
  +x
  +x
  +x
  +x
  +x
  +x
  +b
   
#endif