在mercurial存储库中搜索特定路径中的更改



我有一个使用Yii框架开发的网站,我想将框架从1.1.8版本升级到1.1.11版本。我已经对1.1.11中的框架进行了修改,但其他人没有,我也不记得是哪一个了。

有没有一种方法可以搜索Mercurial存储库中在特定路径上所做的所有更改?框架位于中/yiiframework目录。

您可以将路径传递给hg log命令:

hg log path/to/foo

虽然@David的答案在技术上是正确的,但在意识形态上是错误的,我将回答未提问的问题

"如何在更改上游代码库的基础上维护我的补丁">

这确实是您的业务任务

对于Mercurial来说,这是一项相当简单的工作,您只需要执行"合并并行更改"的一部分工作,而这是SCM无法自动完成的。

简短介绍

  • 您使用Mercurial存储库
  • 您将至少使用2个长期命名分支:如果上游代码也是hg/,则为"default";如果手动添加上游代码,则为hg/,使用任何其他名称;如果本地补丁程序为"My"分支,则为
  • 您的回购可以使用1.1.8的上游香草代码(第1版)启动
  • 您在1.1.8的基础上执行WC中的所有更改,并在我的分支中更改分支(第2版)
  • 返回到第1版,并将代码库与1.1.11同步,提交到默认分支(第3版)
  • 更新到rev 2并合并分支(默认为My),解决可能的冲突

执行此操作后,您有1.1.11从1.1.8继承的更改

未来的工作流程*仅在自己的分支上工作*从上游(如果可以的话)拉入默认值或手动更新默认值*合并到我的,当它需要

PS-更复杂的工作流可能假设并承认在单个分支上使用MQ补丁

最新更新