dirstate.remove: during merges, remember the previous file state
We encode the previous state as a negative file size (AFAICS, previous
versions of hg always have size == 0 when state == 'r').
We save the state of 'm'erged and dirty files, because they're the
two states that indicate that a file has to be committed on a merge
to correctly record per-file history.
#!/bin/sh
hg init a
cd a
hg diff not found
echo bar > foo
hg add foo
hg ci -m 'add foo' -d '1000000 0'
echo foobar > foo
hg ci -m 'change foo' -d '1000001 0'
echo 'quiet:'
hg --quiet diff -r 0 -r 1
echo
echo 'normal:'
hg diff -r 0 -r 1
echo
echo 'verbose:'
hg --verbose diff -r 0 -r 1
echo
echo 'debug:'
hg --debug diff -r 0 -r 1
echo