Mercurial Repo:hg 验证问题:“第一个损坏的变更集似乎是 3270”

Posted

技术标签:

【中文标题】Mercurial Repo:hg 验证问题:“第一个损坏的变更集似乎是 3270”【英文标题】:Mercurial Repo : hg verify issue : "first damaged changeset appears to be 3270" 【发布时间】:2020-12-16 20:33:36 【问题描述】:

在 Mercurial repo 上运行 Hg verify 命令会返回以下输出:

hg 验证

checking changesets
checking manifests
 manifest@3270: changeset refers to unknown revision c33e42cadbba
crosschecking files in changesets and manifests
checking files
 WebContent/WEB-INF/classes/labels.properties@3270: c7287124bd0a not in manifests
checked 5835 changesets with 100225 changes to 78258 files
2 integrity errors encountered!
(first damaged changeset appears to be 3270)

如何解决这个问题?

【问题讨论】:

mercurial-scm.org/wiki/RepositoryCorruption#Dirstate_corruption 【参考方案1】:

''' 使用 hg strip 3270 删除变更集。

https://www.mercurial-scm.org/wiki/StripExtension

选择要删除的变更集 > 右键单击​​ > 修改历史记录 > 剥离 ... > 按剥离按钮。

现在 hg verify 不会抱怨完整性问题了。

这也可以通过命令行来完成

hg strip --keep --force --verbose --nobackup 3270

'''

【讨论】:

以上是关于Mercurial Repo:hg 验证问题:“第一个损坏的变更集似乎是 3270”的主要内容,如果未能解决你的问题,请参考以下文章

使用hg convert将git repo转换为mercurial时出错

如何签出配置文件并使用mercurial重命名?

“没有啥可以合并”与 hg 合并

无法推送到mercurial(bitbucket)repo'等待锁定存储库'

将 Mercurial 存储库移动到现有 git 存储库的子目录中

mercurial:不包括带有存档的 .hg 文件