Mercurial > hg > mercurial-source
changeset 37958:daef13da66fe
context: avoid using a context object as a changeid
I find it misleading to pass changeid=changectx. It currently works to
do that because there's weird (IMO) handling of it in
basectx.__new__. I'm planning on removing that code. Passing changeid
as "changeid" and context as "context" makes it more readable.
Note that the documentation of filectx.__init__ doesn't even seem to
be aware that a changeid can be a context ("changeset revision, node,
or tag").
Differential Revision: https://phab.mercurial-scm.org/D2967
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 29 Mar 2018 21:29:15 -0700 |
parents | d7f3fdab94c4 |
children | 05ff1a155a21 |
files | mercurial/localrepo.py mercurial/merge.py |
diffstat | 2 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1086,10 +1086,11 @@ if f not in pctx and s not in pctx: self.dirstate.copy(None, f) - def filectx(self, path, changeid=None, fileid=None): + def filectx(self, path, changeid=None, fileid=None, changectx=None): """changeid can be a changeset revision, node, or tag. fileid can be a file revision or node.""" - return context.filectx(self, path, changeid, fileid) + return context.filectx(self, path, changeid, fileid, + changectx=changectx) def getcwd(self): return self.dirstate.getcwd()
--- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -561,7 +561,7 @@ fcd = self._filectxorabsent(hash, wctx, dfile) fco = self._filectxorabsent(onode, octx, ofile) # TODO: move this to filectxorabsent - fca = self._repo.filectx(afile, fileid=anode, changeid=actx) + fca = self._repo.filectx(afile, fileid=anode, changectx=actx) # "premerge" x flags flo = fco.flags() fla = fca.flags()