在使用Hg版本的小型项目工作了一段时间之后,我今天已经验证了本地和中央Mercurial存储库。在本地我没有错误或警告,“存储库使用revlog格式1”。但是在中央存储库中我得到了
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种类型的警告)。我可以摆脱这些警告吗?
答案 0 :(得分:2)
如果您使用--pull
克隆一个repo,它将被重新创建为您正在运行的Mercurial版本可以读/写的最新版本。没有--pull
硬链接用于旧数据文件。
服务器上的 运行:
hg clone --pull existingrepo newrepo
mv existingrepo was-existingrepo
mv newrepo existingrepo
答案 1 :(得分:1)
我想我也找到了另一种方式。我已使用Convert extension将存储库从Hg转换为Hg。存储库现在似乎有格式1,所有文件。
答案 2 :(得分:0)
我已成功在错误点创建错误存储库的克隆,然后将错误存储库的内容拉入新克隆。
假设错误从修订版170开始:
hg clone -r 170 damagedRepo newRepo
cd newRepo
hg pull ../damagedRepo