remove: avoid a bogus warning about no tracked files when removing '.'
authorMatt Harbison <matt_harbison@yahoo.com>
Sun, 16 Nov 2014 00:24:23 -0500
changeset 23327 bd296bb4b5c8
parent 23326 f6b8d23492e5
child 23328 3a7d9c0c57a5
remove: avoid a bogus warning about no tracked files when removing '.' Previously, any files relative to the root of the repo that match the -I patterns would be deleted, but the command exited with 1 after printing a warning: $ hg remove -S -I 're:.*.txt' . removing sub1/sub2/folder/test.txt removing sub1/sub2/test.txt not removing .: no tracked files
mercurial/cmdutil.py
tests/test-subrepo-deep-nested-change.t
--- a/mercurial/cmdutil.py	Wed Nov 12 23:15:20 2014 -0500
+++ b/mercurial/cmdutil.py	Sun Nov 16 00:24:23 2014 -0500
@@ -2088,7 +2088,7 @@
                     return True
             return False
 
-        if f in repo.dirstate or f in wctx.dirs() or insubrepo():
+        if f in repo.dirstate or f in wctx.dirs() or f == '.' or insubrepo():
             continue
 
         if os.path.exists(m.rel(join(f))):
--- a/tests/test-subrepo-deep-nested-change.t	Wed Nov 12 23:15:20 2014 -0500
+++ b/tests/test-subrepo-deep-nested-change.t	Sun Nov 16 00:24:23 2014 -0500
@@ -113,7 +113,7 @@
 
 .. but first take a detour through some deep removal testing
 
-  $ hg remove -S -I 're:.*.txt' sub1
+  $ hg remove -S -I 're:.*.txt' .
   removing sub1/sub2/folder/test.txt (glob)
   removing sub1/sub2/test.txt (glob)
   $ hg status -S