keyword: postpone manifest calculation in kwtemplater.overwrite
authorChristian Ebert <blacktrash@gmx.net>
Tue, 15 Jun 2010 17:15:31 +0200
changeset 11350 5ea28187707e
parent 11349 cf8a9154a362
child 11351 1cdc8b5e5729
keyword: postpone manifest calculation in kwtemplater.overwrite We can check for file existence in the working directory (needed in case of recording) by simply using the given context and calculate the manifest only when there are in fact candidates for expansion/shrinking.
hgext/keyword.py
--- a/hgext/keyword.py	Sun Jun 13 23:25:27 2010 +0200
+++ b/hgext/keyword.py	Tue Jun 15 17:15:31 2010 +0200
@@ -191,12 +191,12 @@
 
     def overwrite(self, ctx, candidates, iswctx, expand):
         '''Overwrites selected files expanding/shrinking keywords.'''
-        mf = ctx.manifest()
         if self.record:
-            candidates = [f for f in ctx.files() if f in mf]
+            candidates = [f for f in ctx.files() if f in ctx]
         candidates = [f for f in candidates if self.iskwfile(f, ctx.flags)]
         if candidates:
             self.restrict = True        # do not expand when reading
+            mf = ctx.manifest()
             msg = (expand and _('overwriting %s expanding keywords\n')
                    or _('overwriting %s shrinking keywords\n'))
             for f in candidates: