diff hgext/keyword.py @ 11350:5ea28187707e

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.
author Christian Ebert <blacktrash@gmx.net>
date Tue, 15 Jun 2010 17:15:31 +0200
parents 40c06bbf58be
children fda0e478fb79 f5aa20e177c0
line wrap: on
line diff
--- 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: