# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 2020-08-05 07:51:06 # Node ID e335936cd4e183d1d38b24aece46193104e1788e # Parent cdc50e1929b0ff62ac856c4d28ca32275f6713b1 applyupdates: simplfy calculation of number of updated files Instead of increasing the `updated` variable each time in a loop, let's use the mergeresult object API to calculate the updated value in one call. Differential Revision: https://phab.mercurial-scm.org/D8883 diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -1500,7 +1500,6 @@ def applyupdates( else: i, item = res progress.increment(step=i, item=item) - updated = mresult.len((mergestatemod.ACTION_GET,)) if b'.hgsubstate' in mresult._actionmapping[mergestatemod.ACTION_GET]: subrepoutil.submerge(repo, wctx, mctx, wctx, overwrite, labels) @@ -1544,7 +1543,6 @@ def applyupdates( wctx[f].audit() wctx[f].write(wctx.filectx(f0).data(), flags) wctx[f0].remove() - updated += 1 # local directory rename, get for f, args, msg in mresult.getactions( @@ -1555,7 +1553,6 @@ def applyupdates( f0, flags = args repo.ui.note(_(b"getting %s to %s\n") % (f0, f)) wctx[f].write(mctx.filectx(f0).data(), flags) - updated += 1 # exec for f, args, msg in mresult.getactions( @@ -1566,8 +1563,16 @@ def applyupdates( (flags,) = args wctx[f].audit() wctx[f].setflags(b'l' in flags, b'x' in flags) - updated += 1 + # these actions updates the file + updated = mresult.len( + ( + mergestatemod.ACTION_GET, + mergestatemod.ACTION_EXEC, + mergestatemod.ACTION_LOCAL_DIR_RENAME_GET, + mergestatemod.ACTION_DIR_RENAME_MOVE_LOCAL, + ) + ) # the ordering is important here -- ms.mergedriver will raise if the merge # driver has changed, and we want to be able to bypass it when overwrite is # True