[PATCH 1 of 2] subrepo: add the parent context to hgsubrepo
Matt Harbison
mharbison72 at gmail.com
Fri Mar 20 01:40:35 UTC 2015
# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1426733801 14400
# Wed Mar 18 22:56:41 2015 -0400
# Node ID 449fccab8331e05fb69d967b6916ebac9be614b7
# Parent dc7588ce06b30a6ef347f7554e9646ac00e4456a
subrepo: add the parent context to hgsubrepo
This brings parity with gitsubrepo and svnsubrepo (which already reference their
parent), and will be used in an upcoming patch.
I'm a bit concerned that the parent context could get stale (consider what
happens when the parent repo is reverted for example). I tried adding the
parent context to the substate tuple so that the parent is available everywhere
a state change is possible, but that made submerge() unhappy. Even with
removing the parent context inside submerge(), I wasn't able to get all of the
test diffs fixed.
But since the other subrepos reference their parent too, if there is a problem,
it is a preexisting one (that nobody seems to be running into). It can be fixed
if/when it pops up.
diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py
--- a/mercurial/subrepo.py
+++ b/mercurial/subrepo.py
@@ -519,6 +519,7 @@
super(hgsubrepo, self).__init__(ctx.repo().ui)
self._path = path
self._state = state
+ self._ctx = ctx
r = ctx.repo()
root = r.wjoin(path)
create = not r.wvfs.exists('%s/.hg' % path)
More information about the Mercurial-devel
mailing list