diff -r c654eac03452 -r 2bd54ffaa27e mercurial/context.py --- a/mercurial/context.py Tue Jan 17 19:10:58 2012 -0500 +++ b/mercurial/context.py Tue Jan 17 19:10:59 2012 -0500 @@ -900,16 +900,20 @@ finally: wlock.release() - def forget(self, files): + def forget(self, files, prefix=""): + join = lambda f: os.path.join(prefix, f) wlock = self._repo.wlock() try: + rejected = [] for f in files: if self._repo.dirstate[f] != 'a': self._repo.dirstate.remove(f) elif f not in self._repo.dirstate: - self._repo.ui.warn(_("%s not tracked!\n") % f) + self._repo.ui.warn(_("%s not tracked!\n") % join(f)) + rejected.append(f) else: self._repo.dirstate.drop(f) + return rejected finally: wlock.release()