merge with stable
authorMatt Mackall <mpm@selenic.com>
Tue, 31 Mar 2015 17:49:46 -0500
changeset 24554 6e73c66a6919
parent 24553 afc29e29d569 (current diff)
parent 24548 c780a63f61ca (diff)
child 24555 1b97cc5d2272
merge with stable
mercurial/cmdutil.py
--- a/mercurial/cmdutil.py	Tue Mar 31 15:41:02 2015 -0700
+++ b/mercurial/cmdutil.py	Tue Mar 31 17:49:46 2015 -0500
@@ -2240,6 +2240,12 @@
             if f not in repo.dirstate and not repo.wvfs.isdir(f):
                 if f not in forgot:
                     if repo.wvfs.exists(f):
+                        # Don't complain if the exact case match wasn't given.
+                        # But don't do this until after checking 'forgot', so
+                        # that subrepo files aren't normalized, and this op is
+                        # purely from data cached by the status walk above.
+                        if repo.dirstate.normalize(f) in repo.dirstate:
+                            continue
                         ui.warn(_('not removing %s: '
                                   'file is already untracked\n')
                                 % match.rel(f))
--- a/tests/test-add.t	Tue Mar 31 15:41:02 2015 -0700
+++ b/tests/test-add.t	Tue Mar 31 17:49:46 2015 -0500
@@ -179,6 +179,9 @@
   $ hg add -v capsdir1/capsdir
   adding CapsDir1/CapsDir/AbC.txt (glob)
   adding CapsDir1/CapsDir/SubDir/Def.txt (glob)
+
+  $ hg forget capsdir1/capsdir/abc.txt
+  removing CapsDir1/CapsDir/AbC.txt (glob)
 #endif
 
   $ cd ..