##// END OF EJS Templates
fileset: detect unintentional existing() invocation at runtime...
fileset: detect unintentional existing() invocation at runtime A fileset predicate can invoke 'matchctx.existing()' successfully, even if it isn't marked as "existing caller". It is aborted only in some corner cases: e.g. there were one deleted file in the working directory (see 8a0513bf030a for detail). This patch makes 'matchctx.existing()' invocation abort if not '_existingenabled', which is true only while "existing caller" running. After this changes, non-"existing caller" predicate function is aborted immediately, whenever it invokes 'matchctx.existing()'. This prevent developer from forgetting to mark a predicate as "existing caller". BTW, unintentional 'matchctx.status()' invocation can be detected easily without any additional trick like this patch, because it returns 'None' if a predicate isn't marked as "status caller", and referring field (e.g. '.modified') of it is always aborted.

File last commit:

r21124:a6571421 default
r27464:c39ecb2b default
Show More
changelogentry.tmpl
25 lines | 760 B | application/x-cheetah | CheetahLexer
<table class="logEntry parity{parity}">
<tr>
<th class="label"><span class="age">{date|rfc822date}</span>:</th>
<th class="firstline">{desc|strip|firstline|escape|nonempty}</th>
</tr>
<tr>
<th class="revision">changeset {rev}:</th>
<td class="node"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
</tr>
{parent%changelogparent}
{child%changelogchild}
{changelogtag}
<tr>
<th class="author">author:</th>
<td class="author">{author|obfuscate}</td>
</tr>
<tr>
<th class="date">date:</th>
<td class="date">{date|rfc822date}</td>
</tr>
<tr>
<th class="files"><a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>:</th>
<td class="files">{files}</td>
</tr>
</table>