设置--keep-changes默认为`hg qpush`和`hg qpop`

时间:2012-12-03 09:22:01

标签: mercurial default mq mercurial-queue

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-changesqpush默认为qpop吗?

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

2 个答案:

答案 0 :(得分:2)

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

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

但....默认值是“折旧”,鼓励人们使用别名。我认为这并不意味着它们会消失,它会“打破工作流程”,这是一种致命的罪恶发展。

答案 1 :(得分:0)

阅读alias部分,并特别注意本章中的注释

  

注意

     

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