【问题标题】:Can I edit the message of an older revision in Bazaar?我可以在 Bazaar 中编辑旧版本的消息吗?
【发布时间】:2010-09-10 07:11:22
【问题描述】:

如何编辑旧版本的消息以更准确地描述其更改?

【问题讨论】:

    标签: version-control versioning bazaar revision


    【解决方案1】:

    如果不更改已修改修订及其所有后代的修订 ID,则无法编辑旧修订的提交消息。

    嗯...从技术上讲,如果您足够努力,您可以,但结果的技术术语是“损坏的存储库”。 bzr 中的存储库是分布式修订数据库的副本,如果所有副本对修订的内容不一致,则存在完整性违规。意思是,所有的赌注都没有了,系统会主动尝试检测这种情况并拒绝工作。

    要修改分支中最后一个修订的提交消息,可以使用“bzr uncommit”,然后使用“bzr commit”和新的提交消息。

    要修改旧版本的提交消息,您会得到一个要修改其最后一个版本的分支,使用“uncommit”然后“commit”,然后使用“bzr rebase”或“bzr replay”重新附加后续版本"(来自“重写”插件)。

    在任何情况下,这都会产生一个被认为与您最初拥有的分支“不同”的分支。如果最初的分支已发布,您的原始修订可能会再次出现,从而导致痛苦的合并、历史污染,并且通常会困扰您。

    【讨论】:

      【解决方案2】:

      不,您不能编辑旧版本的提交消息。 Bazaar 中的修订是不可变的。您必须从必须更改的修订版中重建分支。

      【讨论】:

      • “Bazaar 中的修订是不可变的” -- 任何其他不可变的源代码控制系统?
      • 人们已经看到在 CVS 和 Subversion 中编辑过去的版本。它仍然是“坏的”。但仅在集中式 VCS 中编辑提交消息并不会破坏任何内容(可能除了镜像到 DVCS)。在 Bazaar 中,此类更改是严格禁止的,因为它们会导致分布式数据库的完整性违规。在 Git 和 Hg 中,它们在设计上是不可能的。
      【解决方案3】:

      如果是您上次提交的修订版,您可以bzr commit --unchanged 向日志中添加内容。这不是您想要的,但如果ddaa 的警告对您很重要,这可能是次要的。

      【讨论】:

        猜你喜欢
        • 2017-12-27
        • 1970-01-01
        • 1970-01-01
        • 2015-04-02
        • 2012-02-19
        • 2015-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多