0

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

有没有办法在某个路径中搜索 Mercurial 存储库中的所有更改?该框架位于 ./yiiframework 目录中。

4

2 回答 2

1

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

hg log path/to/foo
于 2012-10-13T17:15:00.257 回答
0

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

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

这确实是您的业务任务

对于 Mercurial,这是一项相当容易的工作,您只需执行部分工作“合并并行更改”,而 SCM 无法自动完成。

简短的操作方法

  • 您使用 Mercurial 存储库
  • 您将使用至少 2 个长期命名的分支:上游代码的“默认”/如果上游也是 hg/ 或手动添加上游的任何其他名称,以及本地补丁的“我的”分支
  • 您的 repo 可以从上游原版代码 1.1.8 (rev 1) 开始
  • 您在 1.1.8 之上在 WC 中执行所有更改,并在 My branch (rev 2) 中更改了分支
  • 返回第 1 版并与 1.1.11 同步代码库,提交到默认分支(第 3 版)
  • 更新到 rev 2 并合并分支(默认为 My),解决可能的冲突

在此操作之后,您将拥有 1.1.11 ,并从您的 1.1.8 继承更改

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

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

于 2012-10-13T18:18:31.263 回答