grep: display correct user/revision for --all in reverse.
Also handle multiple occurrences of the same line by storing
linestates in an array instead of a dict, and using difflib
to compute the difference between linestates.
#!/bin/sh
hg init
touch a
hg add a
hg ci -m "a" -d "1000000 0"
echo 123 > b
hg add b
hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
hg diff -r tip | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
echo foo > a
hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"