##// END OF EJS Templates
merge: branch code into {n1 and n2, n1, n2} top-level cases...
Martin von Zweigbergk -
r23473:922b10c8 default
parent child Browse files
Show More
@@ -414,7 +414,7 b' def manifestmerge(repo, wctx, p2, pa, br'
414 414 for f, ((n1, fl1), (n2, fl2)) in diff.iteritems():
415 415 if partial and not partial(f):
416 416 continue
417 if n1 and n2:
417 if n1 and n2: # file exists on both local and remote side
418 418 if f not in ma:
419 419 fa = copy.get(f, None)
420 420 if fa is not None:
@@ -443,32 +443,35 b' def manifestmerge(repo, wctx, p2, pa, br'
443 443 "versions differ"))
444 444 elif f in copied: # files we'll deal with on m2 side
445 445 pass
446 elif n1 and f in movewithdir: # directory rename, move local
446 elif n1: # file exists only on local side
447 if f in movewithdir: # directory rename, move local
447 448 f2 = movewithdir[f]
448 449 actions['dm'].append((f2, (f, fl1),
449 450 "remote directory rename - move from " + f))
450 elif n1 and f in copy:
451 elif f in copy:
451 452 f2 = copy[f]
452 453 actions['m'].append((f, (f, f2, f2, False, pa.node()),
453 454 "local copied/moved from " + f2))
454 elif n1 and f in ma: # clean, a different, no remote
455 elif f in ma: # clean, a different, no remote
455 456 if n1 != ma[f]:
456 457 if acceptremote:
457 458 actions['r'].append((f, None, "remote delete"))
458 459 else:
459 actions['cd'].append((f, None, "prompt changed/deleted"))
460 actions['cd'].append((f, None,
461 "prompt changed/deleted"))
460 462 elif n1[20:] == 'a':
461 # This extra 'a' is added by working copy manifest to mark the
462 # file as locally added. We should forget it instead of
463 # This extra 'a' is added by working copy manifest to mark
464 # the file as locally added. We should forget it instead of
463 465 # deleting it.
464 466 actions['f'].append((f, None, "remote deleted"))
465 467 else:
466 468 actions['r'].append((f, None, "other deleted"))
467 elif n2 and f in movewithdir:
469 elif n2: # file exists only on remote side
470 if f in movewithdir:
468 471 f2 = movewithdir[f]
469 472 actions['dg'].append((f2, (f, fl2),
470 473 "local directory rename - get from " + f))
471 elif n2 and f in copy:
474 elif f in copy:
472 475 f2 = copy[f]
473 476 if f2 in m2:
474 477 actions['m'].append((f, (f2, f, f2, False, pa.node()),
@@ -476,7 +479,7 b' def manifestmerge(repo, wctx, p2, pa, br'
476 479 else:
477 480 actions['m'].append((f, (f2, f, f2, True, pa.node()),
478 481 "remote moved from " + f2))
479 elif n2 and f not in ma:
482 elif f not in ma:
480 483 # local unknown, remote created: the logic is described by the
481 484 # following table:
482 485 #
@@ -500,7 +503,7 b' def manifestmerge(repo, wctx, p2, pa, br'
500 503 aborts.append((f, 'ud'))
501 504 else:
502 505 actions['g'].append((f, (fl2,), "remote created"))
503 elif n2 and n2 != ma[f]:
506 elif n2 != ma[f]:
504 507 different = _checkunknownfile(repo, wctx, p2, f)
505 508 if not force and different:
506 509 aborts.append((f, 'ud'))
@@ -508,7 +511,8 b' def manifestmerge(repo, wctx, p2, pa, br'
508 511 if acceptremote:
509 512 actions['g'].append((f, (fl2,), "remote recreating"))
510 513 else:
511 actions['dc'].append((f, (fl2,), "prompt deleted/changed"))
514 actions['dc'].append((f, (fl2,),
515 "prompt deleted/changed"))
512 516
513 517 for f, m in sorted(aborts):
514 518 if m == 'ud':
General Comments 0
You need to be logged in to leave comments. Login now