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
# Just exercize debugindexdot
# Create a short file history including a merge.
hg init t
cd t
echo a > a
hg ci -qAm t1 -d '0 0'
echo a >> a
hg ci -m t2 -d '1 0'
hg up -qC 0
echo b >> a
hg ci -m t3 -d '2 0'
HGMERGE=true hg merge -q
hg ci -m merge -d '3 0'
hg debugindexdot .hg/store/data/a.i