comparison mercurial/merge.py @ 16255:ca5cc2976574 stable

merge: handle linear update to symlink correctly (issue3316) This fixes a regression introduced by fcf66193b186. If no file-level merge is needed, we can update flags directly, otherwise we have a conflict to resolve in filemerge.
author Matt Mackall <mpm@selenic.com>
date Tue, 13 Mar 2012 16:28:08 -0500
parents fcf66193b186
children c655e4acaa82 7a5524f240ad
comparison
equal deleted inserted replaced
16254:c7eef052c9e3 16255:ca5cc2976574
171 return "l" # Symlink 171 return "l" # Symlink
172 return "" 172 return ""
173 if m and m != a: # changed from a to m 173 if m and m != a: # changed from a to m
174 return m 174 return m
175 if n and n != a: # changed from a to n 175 if n and n != a: # changed from a to n
176 if n == 'l' or a == 'l': 176 if (n == 'l' or a == 'l') and m1[f] != ma[f]:
177 # can't automatically merge symlink flag change here, let 177 # can't automatically merge symlink flag when there
178 # filemerge take care of it 178 # are file-level conflicts here, let filemerge take
179 # care of it
179 return m 180 return m
180 return n 181 return n
181 return '' # flag was cleared 182 return '' # flag was cleared
182 183
183 def act(msg, m, f, *args): 184 def act(msg, m, f, *args):