Also restore old rm -A behavior for inexact patterns
authorBrendan Cully <brendan@kublai.com>
Mon, 30 Apr 2007 09:32:44 -0700
changeset 4394 a6436e9333db
parent 4393 cf5f35ec4720
child 4395 47ef2d228375
Also restore old rm -A behavior for inexact patterns
mercurial/commands.py
tests/test-remove
tests/test-remove.out
--- a/mercurial/commands.py	Mon Apr 30 09:13:27 2007 -0700
+++ b/mercurial/commands.py	Mon Apr 30 09:32:44 2007 -0700
@@ -2083,7 +2083,7 @@
     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 @@
             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	Mon Apr 30 09:13:27 2007 -0700
+++ b/tests/test-remove	Mon Apr 30 09:32:44 2007 -0700
@@ -23,18 +23,21 @@
 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	Mon Apr 30 09:13:27 2007 -0700
+++ b/tests/test-remove.out	Mon Apr 30 09:32:44 2007 -0700
@@ -52,13 +52,15 @@
 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