141 obsolete._computephasedivergentset = obsolete.cachefor('phasedivergent')(obsolete._computebumpedset) |
141 obsolete._computephasedivergentset = obsolete.cachefor('phasedivergent')(obsolete._computebumpedset) |
142 |
142 |
143 def memfilectx(repo, ctx, fctx, flags, copied, path): |
143 def memfilectx(repo, ctx, fctx, flags, copied, path): |
144 # XXX Would it be better at the module level? |
144 # XXX Would it be better at the module level? |
145 varnames = context.memfilectx.__init__.__code__.co_varnames |
145 varnames = context.memfilectx.__init__.__code__.co_varnames |
146 ctxmandatory = varnames[2] == "changectx" |
146 |
147 |
147 if "copysource" in varnames: |
148 if ctxmandatory: |
148 mctx = context.memfilectx(repo, ctx, fctx.path(), fctx.data(), |
|
149 islink='l' in flags, |
|
150 isexec='x' in flags, |
|
151 copysource=copied.get(path)) |
|
152 # compat with hg <- 4.9 |
|
153 elif varnames[2] == "changectx": |
149 mctx = context.memfilectx(repo, ctx, fctx.path(), fctx.data(), |
154 mctx = context.memfilectx(repo, ctx, fctx.path(), fctx.data(), |
150 islink='l' in flags, |
155 islink='l' in flags, |
151 isexec='x' in flags, |
156 isexec='x' in flags, |
152 copied=copied.get(path)) |
157 copied=copied.get(path)) |
153 else: |
158 else: |