D2970: context: set repo property in basectx
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Fri Mar 30 06:10:26 UTC 2018
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
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.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D2970
AFFECTED FILES
mercurial/context.py
CHANGE DETAILS
diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -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):
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list