1

有没有办法将一些连续的 Mercurial 变更集折叠成具有单个描述的树视图,同时保持完整的历史记录?有点像变基,但显示为不改变历史。

这些“固定”、“非常固定”和“非常固定”的变更集让我抓狂。

更新:我找到了Collapse ExtensionHistedit Extension,但都像rebase. 我希望有一种方法可以将带有提交消息的“折叠”信息添加为纯可视层,而不会丢弃任何变更集信息。

4

2 回答 2

1

不,在 mercurial 中没有办法做到这一点。但是有额外的变更集会困扰你吗?您过去的代码总是有缺陷、缓慢且功能低下:这就是您不断开发它的原因。拥有不太正确的变更集并没有什么坏处。

你无法控制你的回购的整个历史;您只能更改其当前状态。如果它的当前状态已经修复了错误,那就没有问题了。让过去成为过去。

于 2013-01-12T17:49:51.893 回答
0

将几个连续的 Mercurial 变更集折叠到具有单个描述的树视图中,同时保持完整的历史记录?

你怎么看?一个具有不止一个历史的变更集?!

简短的回答:不,你不能 - 或者你有单个折叠的变更集或者你有范围集

更长的答案:如果您的存储库尚未发布(因为您无法编辑已推送存储库的历史记录 - 共享存储库不受您的排他控制),则不是在一个地方,但至少可以在两个地方访问。

如果具有相关范围集的存储库满足上述要求,您可以尝试

  • 拥有一个未修改历史的 repo 用于开发(以下简称 DEV)
  • 拥有一个具有折叠历史的回购(DEV 的克隆)以共享给公众(以下简称 PUBLIC)

建议的工作流程:

  • 将 DEV(现在存在)克隆到 PUBLIC
  • 以任何首选方式折叠 PUBLIC 中的范围集(因此 - 重写它的历史)
  • 发布公共
  • 继续你的 DEV 工作
  • 需要时,将更改转移到 PUBLIC(您将获得具有历史记录的匿名分支,在折叠的范围集中分歧)
  • 使用 rebase 线性化 PUBLIC 上的历史记录
  • 发布公共

在开发过程中重复 4 个最新的周期点

于 2013-01-13T00:48:56.663 回答