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
cat >> $HGRCPATH <<EOF
[extensions]
convert=
graphlog=
EOF
hg init t
cd t
echo a >> a
hg ci -Am a0 -d '1 0'
hg branch brancha
echo a >> a
hg ci -m a1 -d '2 0'
echo a >> a
hg ci -m a2 -d '3 0'
echo a >> a
hg ci -m a3 -d '4 0'
hg up -C 0
hg branch branchb
echo b >> b
hg ci -Am b0 -d '5 0'
hg up -C brancha
echo a >> a
hg ci -m a4 -d '6 0'
echo a >> a
hg ci -m a5 -d '7 0'
echo a >> a
hg ci -m a6 -d '8 0'
hg up -C branchb
echo b >> b
hg ci -m b1 -d '9 0'
cd ..
echo % convert with datesort
hg convert --datesort t t2
echo % graph converted repo
hg -R t2 glog --template '#rev# "#desc#"\n'