Установка --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
Но.... значения по умолчанию "устарели", и людям рекомендуется использовать вместо них псевдонимы. Я не думаю, что это будет означать, что они исчезнут, хотя это "нарушит рабочие потоки", что является смертельным грехом в развитии ртути.
Прочитайте о разделе псевдонимов и обратите особое внимание на примечание в этой главе.
Заметка
Можно создать псевдонимы с теми же именами, что и у существующих команд, которые затем переопределят исходные определения. Это почти всегда плохая идея!