gpt4 book ai didi

mercurial - hg 命令在 hg fetch 之前查看变更集

转载 作者:行者123 更新时间:2023-12-03 09:30:50 27 4
gpt4 key购买 nike

您可以使用什么 mercurial 命令在变更集 xyz 之前查看变更集?

如果你这样做 hg log -r :xyz您会看到(包括)xyz 之前的所有变更集 - 按升序列出。但我想轻松地看到之前的变更集。

更新:我真正想要的是:如果我做 hg fetch ,我可以使用什么命令来查看由 fetch 拉入的变更集之前的变更集?
hg log -r :xyz其中 xyz 是获取工作引入的第一个变更集,但它返回我只想要最新的先前变更集的整个列表。

最佳答案

你不能这样做。一旦您拉取(并且 fetch 只是拉取 + 更新或 merge ),就不会记录您在拉取之前拥有的内容以及您刚刚从拉取中获得的内容。

你应该做 hg incoming在你拉之前看看你会得到什么。

另外,停止使用 fetch .拉取、更新和 merge 的行为是完全独立的,在单个命令中执行它们提供的错误报告不足,只会使事情变得困惑。默认情况下该命令是禁用的,并且有人谈论将其完全删除。 merge 就是编码,不应隐藏。

扩展以显示您无法涵盖的案例

如果在获取您的历史记录之前是这样的:

[A]-[B]-[C]

而你(反对所有建议) fetch并获得 [D]你现在有:
[A]-[B]-[C]-[D]

您可以准确地看到新功能:
hg diff -r tip-1

或与:
hg diff -r "parent(tip)"

但是,如果从 A,B,C 重新开始,您将获取并获得 D,E,结果如下:
[A]-[B]-[C]-[D]-[E]

没有任何命令可以运行以查看“发生了什么变化”而无需事先编写 [C]贴在便签上。

另一方面,如果你的 repo 开始看起来像这样:
[A]-[B]
\
-[C]

获取后你有这个:
[A]-[B]-[D]
\
-[C]-[E]

没有一个命令可以告诉您“发生了什么变化”。同样,如果在拉你的 repo 之前看起来像这样:
[A]-[B]-[C]

获取后你得到了这个:
[A]-[B]-[C]-[E]-[F]
\ /
-[D]-------/

哪里 [F]是创建了新的不明智的自动 merge 变更集获取然后命令:
hg diff -r C

会告诉你什么是新的,但没有办法在没有事先写下来的情况下查找'C'。

关于mercurial - hg 命令在 hg fetch 之前查看变更集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880725/

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