Commit 9ae1ea5c authored by muxator's avatar muxator

gitnodekw: do not crash on hg incoming when log template includes gitnode()

Before this change, if the user's log template included a call to gitnode() to
show the git commit hash, invoking "hg incoming" on a git repository that had at
least one incoming change failed with:

   AttributeError: 'overlayrepo' object has no attribute 'githandler'

Since an incoming changeset should already have well defined git commit hashes,
there is no apparent reason for which "hg incoming" should not have this
information already.

This change is a workaround that removes any reference to the hg-git structures
from the incoming changeset, thus merely avoiding the crash.

Fixes #239 (#239)
parent 8b51b82cfb48
Pipeline #12952 passed with stages
in 3 minutes and 13 seconds
......@@ -442,6 +442,8 @@ def revset_gitnode(repo, subset, x):
def _gitnodekw(node, repo):
if not hasattr(repo, 'githandler'):
return None
gitnode = repo.githandler.map_git_get(node.hex())
if gitnode is None:
gitnode = b''
......
......@@ -441,6 +441,7 @@ class overlaychangelog(overlayrevlog):
class overlayrepo(object):
def __init__(self, handler, commits, refs):
self.handler = handler
self._activebookmark = None
self.changelog = overlaychangelog(self, handler.repo.changelog)
if util.safehasattr(handler.repo, b'manifest'):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment