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