# HG changeset patch # User Martin von Zweigbergk # Date 1522389941 25200 # Node ID fbe34945220db0f056fb96bddfcfbb332bbf8e88 # Parent bb47dc2f71a0e267aa2485ec8fed30fd375857cb context: set repo property in basectx It seems like a good practice to call the super constructor. Let's start by passing the repo along to basectx so it can assign it to a private attribute. We should perhaps pass the rev and node along as well, but that requires more work before it can be done. Differential Revision: https://phab.mercurial-scm.org/D2970 diff -r bb47dc2f71a0 -r fbe34945220d mercurial/context.py --- a/mercurial/context.py Thu Mar 29 22:51:45 2018 -0700 +++ b/mercurial/context.py Thu Mar 29 23:05:41 2018 -0700 @@ -63,6 +63,9 @@ memctx: a context that represents changes in-memory and can also be committed.""" + def __init__(self, repo): + self._repo = repo + def __bytes__(self): return short(self.node()) @@ -406,10 +409,10 @@ the repo.""" def __init__(self, repo, changeid='.'): """changeid is a revision number, node, or tag""" + super(changectx, self).__init__(repo) if changeid == '': changeid = '.' - self._repo = repo try: if isinstance(changeid, int): @@ -1134,7 +1137,7 @@ wants the ability to commit, e.g. workingctx or memctx.""" def __init__(self, repo, text="", user=None, date=None, extra=None, changes=None): - self._repo = repo + super(committablectx, self).__init__(repo) self._rev = None self._node = None self._text = text @@ -1818,7 +1821,6 @@ def __init__(self, repo): super(overlayworkingctx, self).__init__(repo) - self._repo = repo self.clean() def setbase(self, wrappedctx):