【问题标题】:Splitting a mercurial commit with renames and edits into two commits (first rename, then edit)将带有重命名和编辑的 mercurial 提交拆分为两个提交(首先重命名,然后编辑)
【发布时间】:2012-03-02 14:43:44
【问题描述】:

有没有办法可以修改 mercurial 中的历史记录,以便将一个提交拆分为两个单独的提交?

第一个应该只包含重命名/移动,第二个应该包含编辑。这将有助于与其他版本控制系统(例如 perforce)的互操作性。

我希望可以使用脚本自动执行此过程。

【问题讨论】:

    标签: mercurial mercurial-extension perfarce


    【解决方案1】:
    1. 有可能
    2. 人工操作
    3. 使用 MQ 扩展

    首先,我们将提交转换为 MQ 补丁,第二个 - 拆分为 2 个路径,最后 - 将 qfinish 补丁转换为永久变更集

    【讨论】:

    • 如果你要编辑的历史已经推送了,那你可能会遇到更大的问题。
    • @TomWillis - 匿名分支不是大问题。是的,当您改写历史时,您必须了解附带损害。我希望,OP 知道改变历史的阴暗面
    • Tom - 我知道围绕改变历史的问题。也许我的问题的一些背景可能会有所帮助。我正在使用 Mercurial + Perfarce 插件与客户端的 perforce 安装进行互操作。如果我在本地进行了一些更改(例如,将文件移动到另一个目录并编辑顶部的命名空间的典型重构),那么当我使用 perfarce 推送这些更改时,我会丢失 perforce 中的版本历史记录。要保留 perforce 中的历史记录,我必须重命名/移动文件、提交、推送到 perforce,然后编辑文件、提交并再次推送到 perforce。
    猜你喜欢
    • 1970-01-01
    • 2013-07-30
    • 2021-07-22
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    相关资源
    最近更新 更多