diff mercurial/debugcommands.py @ 33507:e9672de52a23

debugignore: eliminate inconsistencies with `hg status` (issue5222) Using a matcher for this command allows processing the named file(s) as relative to cwd. It also leverages the icasefs normalization logic the same way the status command does. (However, a false indicator is given for a nonexistent file in some cases, e.g. passing 'foo.REJ' when that file doesn't exist, and the rule is '*.rej'. Maybe the regex itself needs to be case insensitive on these platforms, at least for the debug command.) Finally, the file printed is relative to cwd and uses platform specific slashes, so a few (glob)s were needed in seemingly unrelated tests.
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 15 Jul 2017 15:23:29 -0400
parents 9a9f95214f46
children 9c4e2aa0a239
line wrap: on
line diff
--- a/mercurial/debugcommands.py	Sun Jul 16 04:39:32 2017 -0700
+++ b/mercurial/debugcommands.py	Sat Jul 15 15:23:29 2017 -0400
@@ -866,7 +866,8 @@
         # Show all the patterns
         ui.write("%s\n" % repr(ignore))
     else:
-        for f in files:
+        m = scmutil.match(repo[None], pats=files)
+        for f in m.files():
             nf = util.normpath(f)
             ignored = None
             ignoredata = None
@@ -882,16 +883,16 @@
                             break
             if ignored:
                 if ignored == nf:
-                    ui.write(_("%s is ignored\n") % f)
+                    ui.write(_("%s is ignored\n") % m.uipath(f))
                 else:
                     ui.write(_("%s is ignored because of "
                                "containing folder %s\n")
-                             % (f, ignored))
+                             % (m.uipath(f), ignored))
                 ignorefile, lineno, line = ignoredata
                 ui.write(_("(ignore rule in %s, line %d: '%s')\n")
                          % (ignorefile, lineno, line))
             else:
-                ui.write(_("%s is not ignored\n") % f)
+                ui.write(_("%s is not ignored\n") % m.uipath(f))
 
 @command('debugindex', cmdutil.debugrevlogopts +
     [('f', 'format', 0, _('revlog format'), _('FORMAT'))],