##// END OF EJS Templates
merge: simplify file revision comparison logic
Matt Mackall -
r8752:f177bdab default
parent child Browse files
Show More
@@ -174,22 +174,16 b' def manifestmerge(repo, p1, p2, pa, over'
174 174 continue
175 175 if f in m2:
176 176 rflags = fmerge(f, f, f)
177 # are files different?
178 if n != m2[f]:
179 a = ma.get(f, nullid)
180 # is remote's version newer?
181 if m2[f] != a:
182 # are both different from the ancestor?
183 if n != a:
184 act("versions differ", "m", f, f, f, rflags, False)
185 else:
186 act("remote is newer", "g", f, rflags)
187 continue
188 # contents don't need updating, check mode bits
189 if m1.flags(f) != rflags:
190 act("update permissions", "e", f, rflags)
191 elif f in copied:
192 continue
177 a = ma.get(f, nullid)
178 if n == m2[f] or m2[f] == a: # same or local newer
179 if m1.flags(f) != rflags:
180 act("update permissions", "e", f, rflags)
181 elif n == a: # remote newer
182 act("remote is newer", "g", f, rflags)
183 else: # both changed
184 act("versions differ", "m", f, f, f, rflags, False)
185 elif f in copied: # files we'll deal with on m2 side
186 pass
193 187 elif f in copy:
194 188 f2 = copy[f]
195 189 if f2 not in m2: # directory rename
@@ -215,9 +209,7 b' def manifestmerge(repo, p1, p2, pa, over'
215 209 for f, n in m2.iteritems():
216 210 if partial and not partial(f):
217 211 continue
218 if f in m1:
219 continue
220 if f in copied:
212 if f in m1 or f in copied: # files already visited
221 213 continue
222 214 if f in copy:
223 215 f2 = copy[f]
General Comments 0
You need to be logged in to leave comments. Login now