【问题标题】:Is there a way to tell mercurial 'delete all files that are deleted in local' during a merge?有没有办法告诉 mercurial 在合并期间“删除所有在本地删除的文件”?
【发布时间】:2017-04-11 08:58:12
【问题描述】:

我被分配了一项任务,在一个反复无常的项目上进行一次巨大的合并,大约 1500 次提交。

在本地分叉中,我们删除了大约 200 个文件,现在我需要按 d 并输入每个文件:

remote changed file/that/is/deleted/in/local which local deleted
use (c)hanged version or leave (d)eleted?

有没有办法告诉 mercurial 选择删除所有这些文件?

【问题讨论】:

    标签: mercurial branching-and-merging


    【解决方案1】:

    您使用的是类 Unix 系统吗?如果是这样,此命令将自动回答所有问题的“d”。这就是它的用途。 (当然,只有在没有其他需要人工干预的问题时才有效。)

    yes d | hg merge ...
    

    如果你不是,你可以自己实现它:-) 例如,

    perl -e "for (;1;) { print \"d\n\"; }" | hg merge ...
    

    或者写一个Windows batch file with an infinite loop(等等)

    YES.BAT | hg merge ...
    

    【讨论】:

    • 不幸的是,我在公司的 Windows 10 机器上:(
    【解决方案2】:

    由于您在 Windows 上,请尝试使用 tortoise https://tortoisehg.bitbucket.io/

    添加您的项目。然后你的工作目录,你将能够看到受影响的文件,然后你可以

    【讨论】:

      【解决方案3】:

      您在本地删除了它们?你不能只做一个hg addremove?如果他们在移除后改变了,但在推动之前我认为你不走运:(

      【讨论】:

        【解决方案4】:

        根据Resolving conflicts: how to accept "their" changes automatically? 中的第二个答案及其cmets,

        hg merge --tool internal:local 
        

        会起作用的。

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-24
        • 2012-02-03
        • 1970-01-01
        相关资源
        最近更新 更多