diff -r 17f179805297 -r c655e4acaa82 mercurial/merge.py --- a/mercurial/merge.py Mon Mar 12 17:05:42 2012 -0500 +++ b/mercurial/merge.py Tue Mar 13 16:29:13 2012 -0500 @@ -170,9 +170,10 @@ if m and m != a: # changed from a to m return m if n and n != a: # changed from a to n - if n == 'l' or a == 'l': - # can't automatically merge symlink flag change here, let - # filemerge take care of it + if (n == 'l' or a == 'l') and m1[f] != ma[f]: + # can't automatically merge symlink flag when there + # are file-level conflicts here, let filemerge take + # care of it return m return n return '' # flag was cleared