Установка --keep-changes по умолчанию для `hg qpush` и`hg qpop`

В 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 по умолчанию для qpush а также qpop?

См. Ошибку 2780 - qpop должен работать, если локальные изменения и патчи mq не связаны с историей этой функции. Возможно, нет никакой возможности установить это, в этом случае это менее полезно. Там нет даже одной буквы псевдонима.

2 ответа

Решение

Раздел по умолчанию hgrc должен делать то, что вы хотите (хотя и не проверено):

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

Но.... значения по умолчанию "устарели", и людям рекомендуется использовать вместо них псевдонимы. Я не думаю, что это будет означать, что они исчезнут, хотя это "нарушит рабочие потоки", что является смертельным грехом в развитии ртути.

Прочитайте о разделе псевдонимов и обратите особое внимание на примечание в этой главе.

Заметка

Можно создать псевдонимы с теми же именами, что и у существующих команд, которые затем переопределят исходные определения. Это почти всегда плохая идея!

Другие вопросы по тегам