[PATCH] keyword: reuse already present working contexts for match
Christian Ebert
blacktrash at gmx.net
Mon Jun 20 05:16:39 CDT 2011
# HG changeset patch
# User Christian Ebert <blacktrash at gmx.net>
# Date 1308564974 -7200
# Node ID a9e7f512afe57b973937a09f26c75e083fd3a313
# Parent b1880474e3adb25d2242cb00005b872ce67e85b2
keyword: reuse already present working contexts for match
Shortens overlong line as side-effect.
diff --git a/hgext/keyword.py b/hgext/keyword.py
--- a/hgext/keyword.py
+++ b/hgext/keyword.py
@@ -322,11 +322,11 @@
text = self.kwt.shrink(self.path, text)
return super(kwfilelog, self).cmp(node, text)
-def _status(ui, repo, kwt, *pats, **opts):
+def _status(ui, repo, wctx, kwt, *pats, **opts):
'''Bails out if [keyword] configuration is not active.
Returns status of working directory.'''
if kwt:
- return repo.status(match=scmutil.match(repo[None], pats, opts), clean=True,
+ return repo.status(match=scmutil.match(wctx, pats, opts), clean=True,
unknown=opts.get('unknown') or opts.get('all'))
if ui.configitems('keyword'):
raise util.Abort(_('[keyword] patterns cannot match'))
@@ -340,7 +340,7 @@
kwt = kwtools['templater']
wlock = repo.wlock()
try:
- status = _status(ui, repo, kwt, *pats, **opts)
+ status = _status(ui, repo, wctx, kwt, *pats, **opts)
modified, added, removed, deleted, unknown, ignored, clean = status
if modified or added or removed or deleted:
raise util.Abort(_('outstanding uncommitted changes'))
@@ -475,13 +475,13 @@
i = ignored (not tracked)
'''
kwt = kwtools['templater']
- status = _status(ui, repo, kwt, *pats, **opts)
+ wctx = repo[None]
+ status = _status(ui, repo, wctx, kwt, *pats, **opts)
cwd = pats and repo.getcwd() or ''
modified, added, removed, deleted, unknown, ignored, clean = status
files = []
if not opts.get('unknown') or opts.get('all'):
files = sorted(modified + added + clean)
- wctx = repo[None]
kwfiles = kwt.iskwfile(files, wctx)
kwdeleted = kwt.iskwfile(deleted, wctx)
kwunknown = kwt.iskwfile(unknown, wctx)
More information about the Mercurial-devel
mailing list