【问题标题】:Setting --keep-changes as default for `hg qpush` and `hg qpop`将 --keep-changes 设置为 `hg qpush` 和 `hg qpop` 的默认值
【发布时间】:2012-12-03 09:22:00
【问题描述】:

Mercurial Queues 最近获得了一项新功能,该功能允许在有本地更改时推送和弹出 mq 补丁,前提是补丁不与本地更改冲突。这由--keep-changes 标志控制。我想将此行为设为默认行为。通常,我会避免设置默认值,因为这意味着 hg 在我的机器上的工作方式与在其他机器上的工作方式不同,但在这种情况下它似乎无害。

hg help qpop 说,例如

With --keep-changes, abort only if the uncommitted files overlap with
    patched files.
[...]
    --keep-changes tolerate non-conflicting local changes

那么,谁能告诉.hgrc 中的内容,以便--keep-changes 成为qpushqpop 的默认值?

有关此功能的历史记录,请参阅 Bug 2780 - qpop should work if the local changes and the mq patches are unrelated。可能没有选项可以设置它,在这种情况下它的用处不大。甚至没有一个字母的别名。

【问题讨论】:

    标签: mercurial default mq mercurial-queue


    【解决方案1】:

    hgrc 的默认部分应该做你想做的事(虽然未经测试):

    [defaults]
    qpush = --keep-changes
    qpop  = --keep-changes
    

    但是....默认值已“折旧”,鼓励人们改用别名。我不认为这意味着它们会消失,它会“破坏工作流程”,这是善变发展中的致命罪。

    【讨论】:

    • 我认为在这个特定的上下文中,这个默认值是好的,因为它总是我想要的,至少我想不出我不希望它适用的情况。谢谢。
    【解决方案2】:

    阅读alias部分并特别注意本章中的注意事项

    注意

    可以创建与现有名称相同的别名 命令,然后将覆盖原始定义。这是 几乎总是一个坏主意!

    【讨论】:

    • 我知道别名,但不想使用它。我希望为==keep-changes 提供一些设置。我记得,当时有一些关于环境的讨论。也许它从未被介绍过?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 2012-12-18
    • 2018-05-21
    • 1970-01-01
    • 2011-08-19
    • 2012-11-25
    • 2010-11-09
    相关资源
    最近更新 更多