Mercurial > hg
changeset 22072:443ef664fb55
memctx: create a filectxfn if it is not callable
This will allow future patches to construct a memctx based on another context
or any other store-type object.
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Fri, 25 Jul 2014 19:36:01 -0500 |
parents | f8fc5df6a8cf |
children | 0c48bc3d0eb2 |
files | mercurial/context.py |
diffstat | 1 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Thu Aug 07 11:39:19 2014 -0400 +++ b/mercurial/context.py Fri Jul 25 19:36:01 2014 -0500 @@ -1596,6 +1596,20 @@ self._filectxfn = filectxfn self.substate = {} + # if store is not callable, wrap it in a function + if not callable(filectxfn): + def getfilectx(repo, memctx, path): + fctx = filectxfn[path] + # this is weird but apparently we only keep track of one parent + # (why not only store that instead of a tuple?) + copied = fctx.renamed() + if copied: + copied = copied[0] + return memfilectx(repo, path, fctx.data(), + islink=fctx.islink(), isexec=fctx.isexec(), + copied=copied, memctx=memctx) + self._filectxfn = getfilectx + self._extra = extra and extra.copy() or {} if self._extra.get('branch', '') == '': self._extra['branch'] = 'default'