##// 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:

r13933:3d83c7d7 default
r27464:c39ecb2b default
Show More
map-cmdline.compact
12 lines | 460 B | text/plain | TextLexer
changeset = '{rev}{tags}{bookmarks}{parents} {node|short} {date|isodate} {author|user}\n {desc|firstline|strip}\n\n'
changeset_quiet = '{rev}:{node|short}\n'
changeset_verbose = '{rev}{tags}{parents} {node|short} {date|isodate} {author}\n {desc|strip}\n\n'
start_tags = '['
tag = '{tag},'
last_tag = '{tag}]'
start_parents = ':'
parent = '{rev},'
last_parent = '{rev}'
start_bookmarks = '['
bookmark = '{bookmark},'
last_bookmark = '{bookmark}]'