changeset 4394:a6436e9333db

Also restore old rm -A behavior for inexact patterns
author Brendan Cully <brendan@kublai.com>
date Mon, 30 Apr 2007 09:32:44 -0700
parents cf5f35ec4720
children 47ef2d228375
files mercurial/commands.py tests/test-remove tests/test-remove.out
diffstat 3 files changed, 16 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2083,7 +2083,7 @@ def remove(ui, repo, *pats, **opts):
     entire project history.  If the files still exist in the working
     directory, they will be deleted from it.  If invoked with --after,
     files are marked as removed, but not actually unlinked unless --force
-    is also given. Without an explicit pattern, --after will only mark
+    is also given. Without exact file names, --after will only mark
     files as removed if they are no longer in the working directory.
 
     This command schedules the files to be removed at the next commit.
@@ -2111,7 +2111,7 @@ def remove(ui, repo, *pats, **opts):
             reason = _('has been marked for add (use -f to force removal)')
         elif abs in unknown:
             reason = _('is not managed')
-        elif opts['after'] and not pats and abs not in deleted:
+        elif opts['after'] and not exact and abs not in deleted:
             continue
         elif abs in removed:
             continue
--- a/tests/test-remove
+++ b/tests/test-remove
@@ -23,18 +23,21 @@ hg add a
 hg rm a
 hg rm -f a
 echo b > b
-echo c > c
+mkdir c
+echo d > c/d
 hg ci -A -m 3 -d "1000001 0"
 echo c >> b
 hg rm b
 hg rm -f b
-hg rm -A c
+hg rm -A c/d
 hg st
-cat c
+cat c/d
 hg revert c
 hg rm -A
 hg st
-rm c
+hg rm -A c
+hg st
+rm c/d
 hg rm -A
 hg st
 
--- a/tests/test-remove.out
+++ b/tests/test-remove.out
@@ -52,13 +52,15 @@ diff -r 8ba83d44753d -r a1fce69c50d9 foo
 not removing a: file has been marked for add (use -f to force removal)
 adding a
 adding b
-adding c
+adding c/d
 not removing b: file is modified (use -f to force removal)
 R b
-R c
-c
+R c/d
+d
+undeleting c/d
+R b
 R b
-removing c
+removing c/d
 R b
-R c
+R c/d
 3 files updated, 0 files merged, 0 files removed, 0 files unresolved