##// END OF EJS Templates
context: move reuse of context object to repo.__getitem__ (API)...
context: move reuse of context object to repo.__getitem__ (API) As an example of how weird the basectx.__new__ is: whenever you create a workingctx, basectx.__new__ gets called first. Since our __new__ has a "changeid" argument as second parameter, when create the workingctx(repo, text="blah"), the text gets bound to "changeid". Since a string isn't a basectx, our __new__ ends up not doing anything funny, but that's still very confusing code. Another case is metadataonlyctx.__new__(), which I think exists in order to prevent metadataonlyctx.__init__'s third argument (originalctx) from being interpreted as a changeid in basectx.__new__(), thereby getting reused. Let's move this to repo.__getitem__ instead, where it will be pretty obvious what the code does. After this patch, changectx(ctx) will be an error (it will fail when trying to see if it's a 20-byte string). Differential Revision: https://phab.mercurial-scm.org/D2969

File last commit:

r19455:c229a5e7 default
r37191:bb47dc2f default
Show More
diffstat.tmpl
8 lines | 341 B | application/x-cheetah | CheetahLexer
<tr>
<td class="diffstat-file"><a href="#l{fileno}.1">{file|escape}</a></td>
<td class="diffstat-total" align="right">{total}</td>
<td class="diffstat-graph">
<span class="diffstat-add" style="width:{addpct}%;">&nbsp;</span>
<span class="diffstat-remove" style="width:{removepct}%;">&nbsp;</span>
</td>
</tr>