gpt4 book ai didi

mercurial - 在已修改文件 "X"的命名分支中查找所有变更集(包括 merge )

转载 作者:行者123 更新时间:2023-12-04 20:10:51 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How do I find the merge that moved my changeset to another branch?

(1 个回答)


8年前关闭。




我正在寻找一种使用 TortoiseHg(如果没有其他可能性,则使用普通 hg)来定位特定文件的所有更改的方法。

我试过使用修订集查询:merge() and file("path/to/filename.cs")但这并没有让我找到我正在寻找的东西。它返回一个空集。我认为这是因为 merge()只返回 merge ,和 file()只有(似乎)返回非 merge ,所以交集是空的。

我也试过 modifies(pattern)但这似乎与 file(pattern) 差别不大(在我看来 file()adds()modifies() 的并集)。 contains(pattern)根本不返回任何元素。

那么,是否有可能获得以任何方式修改了特定文件的变更集列表?

最佳答案

看起来您遇到了“我的更改如何进入此分支”的问题。当您将变更集 merge 到分支时,Mercurial 不会将其记录为变更。相反,它注意到 merge 的变更集现在是目标分支的一部分。 merge 将显示文件被修改的唯一时间是是否存在 merge 冲突,这会导致新的变更集。

找到什么 merge 将变更集带入分支是一个两步过程。首先,您必须找到您感兴趣的更改发生的更改集。

 hg log -r "file('<PATTERN>')

完成该修订后,在目标分支中找到第一个后代变更集:
hg log -r "first(branch(<BRANCH>) and descendants(<REVISION>))"

关于mercurial - 在已修改文件 "X"的命名分支中查找所有变更集(包括 merge ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452553/

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