comparison mercurial/merge.py @ 45349:442823f66889

merge: drop commitinfo argument to applyupdates (API) We now pass the mergeresult object and hence there is no need to have a separate commitinfo argument as the required info is present in mergeresult object. Differential Revision: https://phab.mercurial-scm.org/D8904
author Pulkit Goyal <7895pulkit@gmail.com>
date Thu, 06 Aug 2020 13:51:43 +0530
parents 490607efc992
children f970cca30989
comparison
equal deleted inserted replaced
45348:490607efc992 45349:442823f66889
1337 or self.unresolvedcount 1337 or self.unresolvedcount
1338 ) 1338 )
1339 1339
1340 1340
1341 def applyupdates( 1341 def applyupdates(
1342 repo, 1342 repo, mresult, wctx, mctx, overwrite, wantfiledata, labels=None,
1343 mresult,
1344 wctx,
1345 mctx,
1346 overwrite,
1347 wantfiledata,
1348 labels=None,
1349 commitinfo=None,
1350 ): 1343 ):
1351 """apply the merge action list to the working directory 1344 """apply the merge action list to the working directory
1352 1345
1353 mresult is a mergeresult object representing result of the merge 1346 mresult is a mergeresult object representing result of the merge
1354 wctx is the working copy context 1347 wctx is the working copy context
1355 mctx is the context to be merged into the working copy 1348 mctx is the context to be merged into the working copy
1356 commitinfo is a mapping of information which needs to be stored somewhere
1357 (probably mergestate) so that it can be used at commit time.
1358 1349
1359 Return a tuple of (counts, filedata), where counts is a tuple 1350 Return a tuple of (counts, filedata), where counts is a tuple
1360 (updated, merged, removed, unresolved) that describes how many 1351 (updated, merged, removed, unresolved) that describes how many
1361 files were affected by the update, and filedata is as described in 1352 files were affected by the update, and filedata is as described in
1362 batchget. 1353 batchget.
1367 updated, merged, removed = 0, 0, 0 1358 updated, merged, removed = 0, 0, 0
1368 ms = mergestatemod.mergestate.clean( 1359 ms = mergestatemod.mergestate.clean(
1369 repo, wctx.p1().node(), mctx.node(), labels 1360 repo, wctx.p1().node(), mctx.node(), labels
1370 ) 1361 )
1371 1362
1372 if commitinfo is None: 1363 for f, op in pycompat.iteritems(mresult.commitinfo):
1373 commitinfo = {}
1374
1375 for f, op in pycompat.iteritems(commitinfo):
1376 # the other side of filenode was choosen while merging, store this in 1364 # the other side of filenode was choosen while merging, store this in
1377 # mergestate so that it can be reused on commit 1365 # mergestate so that it can be reused on commit
1378 if op == b'other': 1366 if op == b'other':
1379 ms.addmergedother(f) 1367 ms.addmergedother(f)
1380 1368
2049 repo, mresult.len((mergestatemod.ACTION_GET,)), p1.node() 2037 repo, mresult.len((mergestatemod.ACTION_GET,)), p1.node()
2050 ) 2038 )
2051 2039
2052 wantfiledata = updatedirstate and not branchmerge 2040 wantfiledata = updatedirstate and not branchmerge
2053 stats, getfiledata = applyupdates( 2041 stats, getfiledata = applyupdates(
2054 repo, 2042 repo, mresult, wc, p2, overwrite, wantfiledata, labels=labels,
2055 mresult,
2056 wc,
2057 p2,
2058 overwrite,
2059 wantfiledata,
2060 labels=labels,
2061 commitinfo=mresult.commitinfo,
2062 ) 2043 )
2063 2044
2064 if updatedirstate: 2045 if updatedirstate:
2065 with repo.dirstate.parentchange(): 2046 with repo.dirstate.parentchange():
2066 repo.setparents(fp1, fp2) 2047 repo.setparents(fp1, fp2)