387 continue |
387 continue |
388 if f in m2: |
388 if f in m2: |
389 # are files different? |
389 # are files different? |
390 if n != m2[f]: |
390 if n != m2[f]: |
391 a = ma.get(f, nullid) |
391 a = ma.get(f, nullid) |
|
392 # are we clobbering? |
|
393 if overwrite: |
|
394 act("clobbering", "g", f, m2.flags(f)) |
|
395 # or are we going back in time and clean? |
|
396 elif backwards and not n[20:]: |
|
397 act("reverting", "g", f, m2.flags(f)) |
392 # are both different from the ancestor? |
398 # are both different from the ancestor? |
393 if not overwrite and n != a and m2[f] != a: |
399 elif n != a and m2[f] != a: |
394 act("versions differ", "m", f, f, f, fmerge(f), False) |
400 act("versions differ", "m", f, f, f, fmerge(f), False) |
395 # are we clobbering? |
|
396 # is remote's version newer? |
401 # is remote's version newer? |
397 # or are we going back in time and clean? |
402 elif m2[f] != a: |
398 elif overwrite or m2[f] != a or (backwards and not n[20:]): |
403 act("remote is newer", "g", f, fmerge(f)) |
399 act("remote is newer", "g", f, m2.flags(f)) |
|
400 # local is newer, not overwrite, check mode bits |
404 # local is newer, not overwrite, check mode bits |
401 elif fmerge(f) != m1.flags(f): |
405 elif fmerge(f) != m1.flags(f): |
402 act("update permissions", "e", f, m2.flags(f)) |
406 act("update permissions", "e", f, m2.flags(f)) |
403 # contents same, check mode bits |
407 # contents same, check mode bits |
404 elif m1.flags(f) != m2.flags(f): |
408 elif m1.flags(f) != m2.flags(f): |