# HG changeset patch # User Yuya Nishihara # Date 2019-11-09 03:44:00 # Node ID fe2e0d100187821487eac79e9ed663fe975525e7 # Parent 1c91576b88bb82a0be50a5f13b10996bbbd2e2d6 bookmarks: use changectx instead of remembering hex of hidden revision It should be better to not depend on the ctx variable which was assigned conditionally. diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py --- a/mercurial/bookmarks.py +++ b/mercurial/bookmarks.py @@ -953,16 +953,13 @@ def addbookmarks(repo, tr, names, rev=No cur = repo[b'.'].node() newact = None changes = [] - hiddenrev = None - tgt = cur # unhide revs if any if rev: repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') - ctx = scmutil.revsingle(repo, rev) - if ctx.hidden(): - hiddenrev = ctx.hex()[:12] - tgt = ctx.node() + + ctx = scmutil.revsingle(repo, rev) + tgt = ctx.node() for mark in names: mark = checkformat(repo, mark) @@ -979,11 +976,11 @@ def addbookmarks(repo, tr, names, rev=No if not changes: return - if hiddenrev: - repo.ui.warn(_(b"bookmarking hidden changeset %s\n") % hiddenrev) + if ctx.hidden(): + repo.ui.warn(_(b"bookmarking hidden changeset %s\n") % ctx.hex()[:12]) if ctx.obsolete(): - msg = obsutil._getfilteredreason(repo, b"%s" % hiddenrev, ctx) + msg = obsutil._getfilteredreason(repo, ctx.hex()[:12], ctx) repo.ui.warn(b"(%s)\n" % msg) marks.applychanges(repo, tr, changes)