# HG changeset patch # User Matt Harbison # Date 2014-11-16 05:24:23 # Node ID bd296bb4b5c81cac09607d7c8fbcb2b5784d0cb4 # Parent f6b8d23492e530fa3b99504cbc2a7b964316a69a 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 @@ def remove(ui, repo, m, prefix, after, f 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 @@ Check that deep archiving works .. 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