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
Create an empty repo:
$ hg init a
$ cd a
Try some commands:
$ hg log
$ hg grep wah
[1]
$ hg manifest
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
0 files, 0 changesets, 0 total revisions
Check the basic files created:
$ ls .hg
00changelog.i
requires
store
Should be empty:
$ ls .hg/store
Poke at a clone:
$ cd ..
$ hg clone a b
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd b
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
0 files, 0 changesets, 0 total revisions
$ ls .hg
00changelog.i
branch
dirstate
hgrc
requires
store
Should be empty:
$ ls .hg/store
$ cd ..