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.
reverting foo
changeset 2:4d9e78aaceee backs out changeset 1:b515023e500e
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
resolving manifests
overwrite None partial False
ancestor bbd179dfa0a7 local 71766447bdbb+ remote 4d9e78aaceee
searching for copies back to rev 1
unmatched files in local:
bar
foo: remote is newer -> g
getting foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
n 0 -2 unset foo
M foo
c6fc755d7e68f49f880599da29f15add41f42f5a 644 foo
rev offset length base linkrev nodeid p1 p2
0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000
1 5 9 1 1 6f4310b00b9a 2ed2a3912a0b 000000000000
2 14 5 2 2 c6fc755d7e68 6f4310b00b9a 000000000000