Make remove command really unlink files.
--- a/doc/hg.1.txt
+++ b/doc/hg.1.txt
@@ -432,7 +432,8 @@ remove [options] [files ...]::
This command schedules the files to be removed at the next commit.
This only removes files from the current branch, not from the
- entire project history.
+ entire project history. If the files still exist in the working
+ directory, they will be deleted from it.
aliases: rm
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1313,6 +1313,11 @@ def remove(ui, repo, pat, *pats, **opts)
if okaytoremove(abs, rel, exact):
if not exact: ui.status('removing %s\n' % rel)
names.append(abs)
+ for name in names:
+ try:
+ os.unlink(name)
+ except OSError, inst:
+ if inst.errno != errno.ENOENT: raise
repo.remove(names)
def revert(ui, repo, *names, **opts):