merge: update dirstate correctly for non-branchmerge updates
- we don't actually need the context in recordupdates
- use -1 for filesize to force check on normal update
- only record copy for branchmerges
- forget moved files on update
#!/bin/sh
hg init
echo foo > a
hg add a
hg commit -m "1" -d "1000000 0"
hg verify
chmod -r .hg/data/a.i
hg verify 2>/dev/null || echo verify failed
chmod +r .hg/data/a.i
hg verify 2>/dev/null || echo verify failed
chmod -w .hg/data/a.i
echo barber > a
hg commit -m "2" -d "1000000 0" 2>/dev/null || echo commit failed