(stable) merge stable
authorChristian Ebert <blacktrash@gmx.net>
Mon, 29 Jun 2009 19:10:48 +0200
branchstable
changeset 599 4362f0ef265a
parent 593 23da65f04361 (current diff)
parent 597 795a95d7dc61 (diff)
child 601 b5eb8a9938aa
(stable) merge
--- a/hgkw/keyword.py	Sat Jun 27 13:05:25 2009 +0200
+++ b/hgkw/keyword.py	Mon Jun 29 19:10:48 2009 +0200
@@ -359,27 +359,40 @@
     _kwfwrite(ui, repo, True, *pats, **opts)
 
 def files(ui, repo, *pats, **opts):
-    '''print filenames configured for keyword expansion
+    '''show files configured for keyword expansion
 
-    Check which filenames in the working directory are matched by the
+    List which files in the working directory are matched by the
     [keyword] configuration patterns.
 
     Useful to prevent inadvertent keyword expansion and to speed up
-    execution by including only filenames that are actual candidates
+    execution by including only files that are actual candidates
     for expansion.
 
-    Use -u/--untracked to display untracked filenames as well.
+    See "hg help keyword" on how to construct patterns both for
+    inclusion and exclusion of files.
+
+    Use -u/--untracked to list untracked files as well.
+
+    With -a/--all and -v/--verbose the codes used to show the status
+    of files are:
+    K = keyword expansion candidate
+    k = keyword expansion candidate (untracked)
+    I = ignored
+    i = ignored (untracked)
     '''
     kwt = kwtools['templater']
     status = _status(ui, repo, kwt, opts.get('untracked'), *pats, **opts)
     modified, added, removed, deleted, unknown, ignored, clean = status
-    files = sorted(modified + added + clean + unknown)
+    files = sorted(modified + added + clean)
     wctx = repo[None]
     kwfiles = [f for f in files if kwt.iskwfile(f, wctx.flags)]
+    kwuntracked = [f for f in unknown if kwt.iskwfile(f, wctx.flags)]
     cwd = pats and repo.getcwd() or ''
-    kwfstats = not opts.get('ignore') and (('K', kwfiles),) or ()
+    kwfstats = (not opts.get('ignore') and
+                (('K', kwfiles), ('k', kwuntracked),) or ())
     if opts.get('all') or opts.get('ignore'):
-        kwfstats += (('I', [f for f in files if f not in kwfiles]),)
+        kwfstats += (('I', [f for f in files if f not in kwfiles]),
+                     ('i', [f for f in unknown if f not in kwuntracked]),)
     for char, filenames in kwfstats:
         fmt = (opts.get('all') or ui.verbose) and '%s %%s\n' % char or '%s\n'
         for f in filenames:
--- a/tests/test-keyword.out	Sat Jun 27 13:05:25 2009 +0200
+++ b/tests/test-keyword.out	Mon Jun 29 19:10:48 2009 +0200
@@ -50,7 +50,7 @@
 
  kwdemo     print [keywordmaps] configuration and an expansion example
  kwexpand   expand keywords in the working directory
- kwfiles    print filenames configured for keyword expansion
+ kwfiles    show files configured for keyword expansion
  kwshrink   revert expanded keywords in the working directory
 
 enabled extensions: