开发者_JAVA技巧After working on a small project versioned with Hg for a while, I've verified the local and the central Mercurial repositories today. Locally I've got no errors or warning and "repository uses revlog format 1". In the central repository however I get
repository uses revlog format 1
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
warning: `x' uses revlog format 0
warning: `xx' uses revlog format 0
warning: `xxx' uses revlog format 0
...
(13 warnings of this type in total). Can I get rid of these warnings?
If you clone a repo with --pull
it will be recreated as the newest sort the version of Mercurial you're running can read/write. Without --pull
hardlinks are used to the old data files.
So on the server run:
hg clone --pull existingrepo newrepo
mv existingrepo was-existingrepo
mv newrepo existingrepo
I think I've also found another way. I've converted the repository from Hg to Hg using Convert extension. Repository now seems to have format 1, all files.
I've had success creating a clone of the error-ridden repository at the point of the error and then pulling the contents of the error-ridden repository into the new clone.
Assuming the error starts at revision 170:
hg clone -r 170 damagedRepo newRepo
cd newRepo
hg pull ../damagedRepo
精彩评论