util.pathto: return '.' instead of an empty string
This could happen with something like
pathto(repo.root, 'foo/bar', 'foo/bar')
status: put added files that have disappeared in the deleted list
This gives the user an indication that something went wrong with this file:
$ hg add foo
$ rm foo
$ hg status foo
! foo
Fixes
issue212.
revert: unify forget and remove lists
This doesn't make a difference right now, but after the next revision
some files in state 'a' may end up in the deleted list, and revert
won't be able to just remove all files in that list.
commands.revert: don't call hg.revert
commands.revert calculates everything that has to be done and then
calls hg.revert to checkout and remove files. Unfortunately,
hg.revert has to recalculate everything and that can take a long
while, since it always operates on the whole working dir.
Changing commands.revert to manually checkout and remove files
makes things considerably faster, especially if we're reverting
a single file in a repo with a huge number of files.
This should be enough to close
issue857.
revert: don't let repo.status walk the whole working dir
Problem diagnosed by pmezard.
Set bundle.mainreporoot only after checking that it's a local repo
Fixes
issue977.
Fix test-hgweb-commands.out after
9b817c0a82f1