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

login
register
mail settings
Submitter Matt Harbison
Date Nov. 16, 2014, 6:16 a.m.
Message ID <93890df636d331171bf9.1416118593@Envy>
Download mbox | patch
Permalink /patch/6747/
State Accepted
Commit bd296bb4b5c81cac09607d7c8fbcb2b5784d0cb4
Headers show

Comments

Matt Harbison - Nov. 16, 2014, 6:16 a.m.
# HG changeset patch
# User Matt Harbison <matt_harbison@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
Matt Mackall - Nov. 17, 2014, 11:26 p.m.
On Sun, 2014-11-16 at 01:16 -0500, Matt Harbison wrote:
> # HG changeset patch
> # User Matt Harbison <matt_harbison@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 '.'

These are queued for default, thanks.

Patch

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