comparison mercurial/hg.py @ 37107:71543b942eea

merge: return an attrs class from update() and applyupdates() Previously, we returned a tuple containing counts. The result of an update is kind of complex and the use of tuples with nameless fields made the code a bit harder to read and constrained future expansion of the return value. Let's invent an attrs-defined class for representing the result of an update operation. We provide __getitem__ and __len__ implementations for backwards compatibility as a container type to minimize code churn. In (at least) Python 2, the % operator seems to insist on using tuples. So we had to update a consumer using the % operator. .. api:: merge.update() and merge.applyupdates() now return a class with named attributes instead of a tuple. Switch consumers to access elements by name instead of by offset. Differential Revision: https://phab.mercurial-scm.org/D2692
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 05 Mar 2018 00:02:13 -0500
parents f0b6fbea00cf
children 6f570c501e3e
comparison
equal deleted inserted replaced
37106:3d3cff1f6bde 37107:71543b942eea
750 750
751 def _showstats(repo, stats, quietempty=False): 751 def _showstats(repo, stats, quietempty=False):
752 if quietempty and not any(stats): 752 if quietempty and not any(stats):
753 return 753 return
754 repo.ui.status(_("%d files updated, %d files merged, " 754 repo.ui.status(_("%d files updated, %d files merged, "
755 "%d files removed, %d files unresolved\n") % stats) 755 "%d files removed, %d files unresolved\n") % (
756 stats.updatedcount, stats.mergedcount,
757 stats.removedcount, stats.unresolvedcount))
756 758
757 def updaterepo(repo, node, overwrite, updatecheck=None): 759 def updaterepo(repo, node, overwrite, updatecheck=None):
758 """Update the working directory to node. 760 """Update the working directory to node.
759 761
760 When overwrite is set, changes are clobbered, merged else 762 When overwrite is set, changes are clobbered, merged else