删除 mercurial 消息 "obsolete feature not enabled but xxx markers found"
Remove mercurial message "obsolete feature not enabled but xxx markers found"
有一段时间我在我们的 Mercurial 存储库中启用了 evolve extension。然后我把它禁用了。
现在我经常看到这样的消息:
obsolete feature not enabled but 184 markers found!
当各种 hg 命令是 运行。
我怎样才能摆脱这条消息?我收集到现在存储库中有 "obsolecense markers",是否可以删除它们and/or 使这些消息静音?
您只需要删除obsstore:
$ rm .hg/store/obsstore
请注意,如果您这样做,您所做的过时提交将再次显示为草稿或 public 更改。
评论指出:
the cleaner solution would be to try to clone the repo again.
(翡翠领主 2019 年 1 月 3 日在 10:48)
这种方法(而不是删除 obsstore
)的潜在好处是:
使用正常的内置命令
摆脱过时的变更集,否则这些变更集将保留在历史记录中,可能会造成混乱或混乱。
...obsolete [changesets] won’t be exchanged with other repositories by
push
, pull
, or clone
.
这似乎支持这种做法。我还没有机会尝试一下。
换句话说,步骤应该是:
- 修改
hgrc
转为进化
hg clone source dest
- 现在
dest
应该没有任何过时的变更集(并且可能也不会有 obsstore
文件)
有一段时间我在我们的 Mercurial 存储库中启用了 evolve extension。然后我把它禁用了。
现在我经常看到这样的消息:
obsolete feature not enabled but 184 markers found!
当各种 hg 命令是 运行。
我怎样才能摆脱这条消息?我收集到现在存储库中有 "obsolecense markers",是否可以删除它们and/or 使这些消息静音?
您只需要删除obsstore:
$ rm .hg/store/obsstore
请注意,如果您这样做,您所做的过时提交将再次显示为草稿或 public 更改。
评论指出:
the cleaner solution would be to try to clone the repo again.
(翡翠领主 2019 年 1 月 3 日在 10:48)
这种方法(而不是删除 obsstore
)的潜在好处是:
使用正常的内置命令
摆脱过时的变更集,否则这些变更集将保留在历史记录中,可能会造成混乱或混乱。
...obsolete [changesets] won’t be exchanged with other repositories by
push
,pull
, orclone
.
这似乎支持这种做法。我还没有机会尝试一下。
换句话说,步骤应该是:
- 修改
hgrc
转为进化 hg clone source dest
- 现在
dest
应该没有任何过时的变更集(并且可能也不会有obsstore
文件)