diff -r 14dc2bbba6d2 -r 004982e5d782 mercurial/context.py --- a/mercurial/context.py Thu Feb 16 15:58:51 2012 -0600 +++ b/mercurial/context.py Thu Feb 16 16:40:29 2012 -0600 @@ -902,11 +902,11 @@ try: rejected = [] for f in files: - if self._repo.dirstate[f] != 'a': - self._repo.dirstate.remove(f) - elif f not in self._repo.dirstate: + if f not in self._repo.dirstate: self._repo.ui.warn(_("%s not tracked!\n") % join(f)) rejected.append(f) + elif self._repo.dirstate[f] != 'a': + self._repo.dirstate.remove(f) else: self._repo.dirstate.drop(f) return rejected