Add revlog.strip to truncate away revisions.
This updates the revlog data structures for index and nodemap in place
so the .d and .i files don't need to be reread after stripping away a revision.
#!/bin/sh
hg init
echo a > a
hg add a
hg commit -m "1" -d "0 0"
hg status
hg copy a b
hg status
hg --debug commit -m "2" -d "0 0"
echo "we should see two history entries"
hg history -v
echo "we should see one log entry for a"
hg log a
echo "this should show a revision linked to changeset 0"
hg debugindex .hg/data/a.i
echo "we should see one log entry for b"
hg log b
echo "this should show a revision linked to changeset 1"
hg debugindex .hg/data/b.i
echo "this should show the rename information in the metadata"
hg debugdata .hg/data/b.d 0 | head -n 3 | tail -n 2
md5sum .hg/data/b.d
hg cat b > bsum
md5sum bsum
hg cat a > asum
md5sum asum
hg verify