544 ''''An object representing result of merging manifests. |
544 ''''An object representing result of merging manifests. |
545 |
545 |
546 It has information about what actions need to be performed on dirstate |
546 It has information about what actions need to be performed on dirstate |
547 mapping of divergent renames and other such cases. ''' |
547 mapping of divergent renames and other such cases. ''' |
548 |
548 |
549 def __init__(self, actions, diverge, renamedelete, commitinfo): |
549 def __init__(self): |
550 """ |
550 """ |
551 actions: dict of filename as keys and action related info as values |
551 actions: dict of filename as keys and action related info as values |
552 diverge: mapping of source name -> list of dest name for |
552 diverge: mapping of source name -> list of dest name for |
553 divergent renames |
553 divergent renames |
554 renamedelete: mapping of source name -> list of destinations for files |
554 renamedelete: mapping of source name -> list of destinations for files |
555 deleted on one side and renamed on other. |
555 deleted on one side and renamed on other. |
556 commitinfo: dict containing data which should be used on commit |
556 commitinfo: dict containing data which should be used on commit |
557 contains a filename -> info mapping |
557 contains a filename -> info mapping |
558 """ |
558 """ |
559 |
559 self._actions = {} |
|
560 self._diverge = {} |
|
561 self._renamedelete = {} |
|
562 self._commitinfo = {} |
|
563 |
|
564 def updatevalues(self, actions, diverge, renamedelete, commitinfo): |
560 self._actions = actions |
565 self._actions = actions |
561 self._diverge = diverge |
566 self._diverge = diverge |
562 self._renamedelete = renamedelete |
567 self._renamedelete = renamedelete |
563 self._commitinfo = commitinfo |
568 self._commitinfo = commitinfo |
564 |
569 |
912 _filternarrowactions(narrowmatch, branchmerge, actions) |
917 _filternarrowactions(narrowmatch, branchmerge, actions) |
913 |
918 |
914 renamedelete = branch_copies1.renamedelete |
919 renamedelete = branch_copies1.renamedelete |
915 renamedelete.update(branch_copies2.renamedelete) |
920 renamedelete.update(branch_copies2.renamedelete) |
916 |
921 |
917 return mergeresult(actions, diverge, renamedelete, commitinfo) |
922 mresult = mergeresult() |
|
923 mresult.updatevalues(actions, diverge, renamedelete, commitinfo) |
|
924 return mresult |
918 |
925 |
919 |
926 |
920 def _resolvetrivial(repo, wctx, mctx, ancestor, actions): |
927 def _resolvetrivial(repo, wctx, mctx, ancestor, actions): |
921 """Resolves false conflicts where the nodeid changed but the content |
928 """Resolves false conflicts where the nodeid changed but the content |
922 remained the same.""" |
929 remained the same.""" |
1073 ) |
1081 ) |
1074 actions[f] = l[0] |
1082 actions[f] = l[0] |
1075 continue |
1083 continue |
1076 repo.ui.note(_(b'end of auction\n\n')) |
1084 repo.ui.note(_(b'end of auction\n\n')) |
1077 # TODO: think about commitinfo when bid merge is used |
1085 # TODO: think about commitinfo when bid merge is used |
1078 mresult = mergeresult(actions, diverge, renamedelete, {}) |
1086 mresult = mergeresult() |
|
1087 mresult.updatevalues(actions, diverge, renamedelete, {}) |
1079 |
1088 |
1080 if wctx.rev() is None: |
1089 if wctx.rev() is None: |
1081 fractions = _forgetremoved(wctx, mctx, branchmerge) |
1090 fractions = _forgetremoved(wctx, mctx, branchmerge) |
1082 mresult.actions.update(fractions) |
1091 mresult.actions.update(fractions) |
1083 |
1092 |