[PATCH 3 of 3 V2] remove: avoid a bogus warning about no tracked files when removing '.'

Matt Harbison matt_harbison at yahoo.com
Sun Nov 16 00:16:33 CST 2014


# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1416115463 18000
#      Sun Nov 16 00:24:23 2014 -0500
# Node ID 93890df636d331171bf9b36a81e4cc8deef1fccf
# Parent  39371efb61771bea0759c1e2238b43ec60d394a4
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

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -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))):
diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t
--- a/tests/test-subrepo-deep-nested-change.t
+++ b/tests/test-subrepo-deep-nested-change.t
@@ -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


More information about the Mercurial-devel mailing list