gpt4 book ai didi

mercurial - 在 Mercurial 中,应用 mq 补丁时是否拉取 "safe"?

转载 作者:行者123 更新时间:2023-12-04 06:47:52 26 4
gpt4 key购买 nike

go programming language has a page on code reviews使用 mq 并指出:“由于在应用 mq 补丁时拉、推、更新和提交可能会损坏您的存储库”。

我明白为什么推送或更新可能是一个问题,但拉一个问题?

如果您应用了 mq 补丁并且您拉动了您的存储库会被损坏吗?

最佳答案

If you have mq patches applied and you pull will your repository be damaged?



答案是 没有 .当您拉动时,您会在本地历史记录中添加更多变更集。应用的 MQ 补丁也作为变更集存在于变更集图中,但这并不危险,您也不会丢失任何数据。

可能发生的情况是您应用了一些补丁:
.... a --- b --- p1 --- p2 --- p3

然后,您将补丁发送到上游邮件列表以供包含。有人审查补丁,提交它们,并将变更集推送到主存储库。其他变更集随后被推送,下次你拉你最终得到:
.... a --- b --- p1 --- p2 --- p3 --- c --- d

变更集 p1p3仍然是存储库中的 MQ 补丁,但它们现在有非 MQ 子!尝试弹出它们会导致(使用 Mercurial 2.1.1):
$ hg qpop
abort: popping would remove a revision not managed by this patch queue

这有点死锁。这很烦人,但并不危险。要解决它,您必须让 MQ 了解 p1p3不再由 MQ 管理。为此,您可以从 .hg/patches/status 中删除这些变更集的行。 .当这种情况发生时,MQ 可能最终会自行删除这些行——但这种情况很少发生,所以还没有人编写那个补丁。

关于mercurial - 在 Mercurial 中,应用 mq 补丁时是否拉取 "safe"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5160998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com