splicemap: improve error handling when source is hg (
issue2084)
1. Introduced 2 levels of error handling for splicemap files
a. Check the splicemap file for rules which are same across different
types of source repos. This is done through enhancing parsesplicemap
function
b. Check revision string formats. Each repo may have their own format.
This is done usign checkrevformat function
c. Implemented the above two for hg
Issue351: mq: qrefresh can create extra revlog entry
$ echo "[extensions]" >> $HGRCPATH
$ echo "mq=" >> $HGRCPATH
$ hg init
$ hg qinit
$ echo b > b
$ hg ci -A -m foo
adding b
$ echo cc > b
$ hg qnew -f foo.diff
$ echo b > b
$ hg qrefresh
$ hg debugindex b
rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 3 ..... 0 1e88685f5dde 000000000000 000000000000 (re)