D2694: merge: deprecate accessing update results by index
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Mon Mar 26 08:51:54 UTC 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG6f570c501e3e: merge: deprecate accessing update results by index (authored by indygreg, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D2694?vs=7269&id=7284
REVISION DETAIL
https://phab.mercurial-scm.org/D2694
AFFECTED FILES
hgext/histedit.py
hgext/rebase.py
mercurial/commands.py
mercurial/hg.py
mercurial/merge.py
CHANGE DETAILS
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -1483,9 +1483,15 @@
removedcount = attr.ib()
unresolvedcount = attr.ib()
+ def isempty(self):
+ return (not self.updatedcount and not self.mergedcount
+ and not self.removedcount and not self.unresolvedcount)
+
# TODO remove container emulation once consumers switch to new API.
def __getitem__(self, x):
+ util.nouideprecwarn('access merge.update() results by name instead of '
+ 'index', '4.6', 2)
if x == 0:
return self.updatedcount
elif x == 1:
@@ -1498,6 +1504,8 @@
raise IndexError('can only access items 0-3')
def __len__(self):
+ util.nouideprecwarn('access merge.update() results by name instead of '
+ 'index', '4.6', 2)
return 4
def applyupdates(repo, actions, wctx, mctx, overwrite, labels=None):
@@ -2164,7 +2172,8 @@
sparse.prunetemporaryincludes(repo)
if not partial:
- repo.hook('update', parent1=xp1, parent2=xp2, error=stats[3])
+ repo.hook('update', parent1=xp1, parent2=xp2,
+ error=stats.unresolvedcount)
return stats
def graft(repo, ctx, pctx, labels, keepparent=False):
diff --git a/mercurial/hg.py b/mercurial/hg.py
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -749,7 +749,7 @@
return srcpeer, destpeer
def _showstats(repo, stats, quietempty=False):
- if quietempty and not any(stats):
+ if quietempty and stats.isempty():
return
repo.ui.status(_("%d files updated, %d files merged, "
"%d files removed, %d files unresolved\n") % (
@@ -770,9 +770,9 @@
"""update the working directory to node"""
stats = updaterepo(repo, node, False, updatecheck=updatecheck)
_showstats(repo, stats, quietempty)
- if stats[3]:
+ if stats.unresolvedcount:
repo.ui.status(_("use 'hg resolve' to retry unresolved file merges\n"))
- return stats[3] > 0
+ return stats.unresolvedcount > 0
# naming conflict in clone()
_update = update
@@ -783,7 +783,7 @@
repo.vfs.unlinkpath('graftstate', ignoremissing=True)
if show_stats:
_showstats(repo, stats, quietempty)
- return stats[3] > 0
+ return stats.unresolvedcount > 0
# naming conflict in updatetotally()
_clean = clean
@@ -882,12 +882,12 @@
labels=labels)
_showstats(repo, stats)
- if stats[3]:
+ if stats.unresolvedcount:
repo.ui.status(_("use 'hg resolve' to retry unresolved file merges "
"or 'hg merge --abort' to abandon\n"))
elif remind and not abort:
repo.ui.status(_("(branch merge, don't forget to commit)\n"))
- return stats[3] > 0
+ return stats.unresolvedcount > 0
def _incoming(displaychlist, subreporecurse, ui, repo, source,
opts, buffered=False):
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -629,7 +629,7 @@
repo.setparents(op1, op2)
dsguard.close()
hg._showstats(repo, stats)
- if stats[3]:
+ if stats.unresolvedcount:
repo.ui.status(_("use 'hg resolve' to retry unresolved "
"file merges\n"))
return 1
@@ -2311,7 +2311,7 @@
finally:
repo.ui.setconfig('ui', 'forcemerge', '', 'graft')
# report any conflicts
- if stats[3] > 0:
+ if stats.unresolvedcount > 0:
# write out state for --continue
nodelines = [repo[rev].hex() + "\n" for rev in revs[pos:]]
repo.vfs.write('graftstate', ''.join(nodelines))
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -525,7 +525,7 @@
with ui.configoverride(overrides, 'rebase'):
stats = rebasenode(repo, rev, p1, base, self.collapsef,
dest, wctx=self.wctx)
- if stats[3] > 0:
+ if stats.unresolvedcount > 0:
if self.inmemory:
raise error.InMemoryMergeConflictsError()
else:
diff --git a/hgext/histedit.py b/hgext/histedit.py
--- a/hgext/histedit.py
+++ b/hgext/histedit.py
@@ -499,7 +499,7 @@
hg.update(repo, self.state.parentctxnode, quietempty=True)
stats = applychanges(repo.ui, repo, rulectx, {})
repo.dirstate.setbranch(rulectx.branch())
- if stats and stats[3] > 0:
+ if stats.unresolvedcount:
buf = repo.ui.popbuffer()
repo.ui.write(buf)
raise error.InterventionRequired(
To: indygreg, durin42, #hg-reviewers, martinvonz, pulkit
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list