[PATCH 3 of 7 mergedriver] mergestate: add a method to return updated/merged/removed counts
Siddharth Agarwal
sid0 at fb.com
Fri Nov 20 19:03:58 CST 2015
# HG changeset patch
# User Siddharth Agarwal <sid0 at fb.com>
# Date 1448065074 28800
# Fri Nov 20 16:17:54 2015 -0800
# Node ID fa34efec3ea506994c9de30357f68d09aee0f744
# Parent 2712ae8efb1942f3ac0f1b3b3a67e5fb3a8df9e3
# Available At http://42.netv6.net/sid0-wip/hg/
# hg pull http://42.netv6.net/sid0-wip/hg/ -r fa34efec3ea5
mergestate: add a method to return updated/merged/removed counts
This will not only allow us to remove a bunch of duplicate code in applyupdates
in an upcoming patch, it will also allow the resolve interface to be a lot
simpler: it doesn't need to return the dirstate action to applyupdates.
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -490,6 +490,20 @@ class mergestate(object):
Returns the exit code of the merge."""
return self._resolve(False, dfile, wctx, labels=labels)[1]
+ def counts(self):
+ """return counts for updated, merged and removed files in this
+ session"""
+ updated, merged, removed = 0, 0, 0
+ for r, action in self._results.itervalues():
+ if r is None:
+ updated += 1
+ elif r == 0:
+ if action == 'r':
+ removed += 1
+ else:
+ merged += 1
+ return updated, merged, removed
+
def _checkunknownfile(repo, wctx, mctx, f, f2=None):
if f2 is None:
f2 = f
More information about the Mercurial-devel
mailing list