在Mercurial中,具有后继的变更集标记为过时.
这个标记可以(强制)以某种方式被移除吗?
在使用hg strip删除后继者之后,原始变更集仍然标记为过时和已灭绝).hg evolve拒绝重新创建继任者.
小智 10
您无法将更改标记为已过时,但您可以使用" hg touch <rev> --hidden" 将其恢复生命,其中touch是一个新命令,它是evolve扩展的一部分.
FWIW.也可以改变过时的变化,但如果使用触摸,你可能会减少并发症.
小智 8
是! 您现在可以删除过时标记。有人问这个问题,也许在2015年是不可能的。
解决方案在user377178的 2018年4月18日的答案中: hg --hidden debugobsolete --delete <revindex>
请注意,您不使用变更集ID。您必须使用索引号(至少在Mercurial 4.1.3中使用)。运行hg --hidden debugobsolete --index以获取带有过时标记的变更集列表。查找您要变得不再过时的变更集的索引,然后hg --hidden debugobsolete --delete <revindex>使用代替revindex的索引运行。然后,您过时的变更集将不再过时。(它可能多次出现在列表中-我尚未进行彻底调查。)
目前,即使在关于恢复过时变更集的部分中,debugobsolete命令也未在Evolution 用户指南中列出。但是,它在“ 演变方式”指南中列出。
非常感谢user377178。
| 归档时间: |
|
| 查看次数: |
3222 次 |
| 最近记录: |