Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/filemerge.py @ 48543:608a35db186c
filemerge: stop returning always-`True` value
Now that we've removed some more leftovers from "merge driver", it's
clear that the first element of `filemerge()`'s return value is always
`True`.
Differential Revision: https://phab.mercurial-scm.org/D11885
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 07 Dec 2021 21:17:18 -0800 |
parents | 40522aea2f27 |
children | 5151b0f6519e |
comparison
equal
deleted
inserted
replaced
48542:40522aea2f27 | 48543:608a35db186c |
---|---|
1029 | 1029 |
1030 Returns whether the merge is complete, the return value of the merge, and | 1030 Returns whether the merge is complete, the return value of the merge, and |
1031 a boolean indicating whether the file was deleted from disk.""" | 1031 a boolean indicating whether the file was deleted from disk.""" |
1032 | 1032 |
1033 if not fco.cmp(fcd): # files identical? | 1033 if not fco.cmp(fcd): # files identical? |
1034 return True, None, False | 1034 return None, False |
1035 | 1035 |
1036 ui = repo.ui | 1036 ui = repo.ui |
1037 fd = fcd.path() | 1037 fd = fcd.path() |
1038 uipathfn = scmutil.getuipathfn(repo) | 1038 uipathfn = scmutil.getuipathfn(repo) |
1039 fduipath = uipathfn(fd) | 1039 fduipath = uipathfn(fd) |
1087 isexternal = True | 1087 isexternal = True |
1088 | 1088 |
1089 toolconf = tool, toolpath, binary, symlink, scriptfn | 1089 toolconf = tool, toolpath, binary, symlink, scriptfn |
1090 | 1090 |
1091 if mergetype == nomerge: | 1091 if mergetype == nomerge: |
1092 r, deleted = func(repo, mynode, fcd, fco, fca, toolconf, labels) | 1092 return func(repo, mynode, fcd, fco, fca, toolconf, labels) |
1093 return True, r, deleted | |
1094 | 1093 |
1095 if orig != fco.path(): | 1094 if orig != fco.path(): |
1096 ui.status( | 1095 ui.status( |
1097 _(b"merging %s and %s to %s\n") | 1096 _(b"merging %s and %s to %s\n") |
1098 % (uipathfn(orig), uipathfn(fco.path()), fduipath) | 1097 % (uipathfn(orig), uipathfn(fco.path()), fduipath) |
1107 if wctx.isinmemory(): | 1106 if wctx.isinmemory(): |
1108 raise error.InMemoryMergeConflictsError( | 1107 raise error.InMemoryMergeConflictsError( |
1109 b'in-memory merge does not support merge conflicts' | 1108 b'in-memory merge does not support merge conflicts' |
1110 ) | 1109 ) |
1111 ui.warn(onfailure % fduipath) | 1110 ui.warn(onfailure % fduipath) |
1112 return True, 1, False | 1111 return 1, False |
1113 | 1112 |
1114 backup = _makebackup(repo, ui, wctx, fcd) | 1113 backup = _makebackup(repo, ui, wctx, fcd) |
1115 r = 1 | 1114 r = 1 |
1116 try: | 1115 try: |
1117 internalmarkerstyle = ui.config(b'ui', b'mergemarkers') | 1116 internalmarkerstyle = ui.config(b'ui', b'mergemarkers') |
1148 r = _premerge( | 1147 r = _premerge( |
1149 repo, fcd, fco, fca, toolconf, backup, labels=premergelabels | 1148 repo, fcd, fco, fca, toolconf, backup, labels=premergelabels |
1150 ) | 1149 ) |
1151 # we're done if premerge was successful (r is 0) | 1150 # we're done if premerge was successful (r is 0) |
1152 if not r: | 1151 if not r: |
1153 return not r, r, False | 1152 return r, False |
1154 | 1153 |
1155 needcheck, r, deleted = func( | 1154 needcheck, r, deleted = func( |
1156 repo, | 1155 repo, |
1157 mynode, | 1156 mynode, |
1158 fcd, | 1157 fcd, |
1175 b'merge conflicts' | 1174 b'merge conflicts' |
1176 ) | 1175 ) |
1177 ui.warn(onfailure % fduipath) | 1176 ui.warn(onfailure % fduipath) |
1178 _onfilemergefailure(ui) | 1177 _onfilemergefailure(ui) |
1179 | 1178 |
1180 return True, r, deleted | 1179 return r, deleted |
1181 finally: | 1180 finally: |
1182 if not r and backup is not None: | 1181 if not r and backup is not None: |
1183 backup.remove() | 1182 backup.remove() |
1184 | 1183 |
1185 | 1184 |