Сценарий: я «унаследовал» программу, хранящуюся в Mercurial, которая работает в моей системе только с конкретными настройками для определенных файлов, которые зарегистрированы. Я не хочу проверить эти настройки в .
Мое самое последнее решение для этого - создать файл ртутного патча (hg diff> patchfile), содержащий эти настройки; когда мне нужно будет проверить свои изменения, я просто применю исправление в обратном порядке, зафиксирую и повторно применим исправление. (Если бы у меня был полный контроль над источником, я бы просто переместил все эти маленькие настройки в один файл конфигурации, который не находится под контролем версии, поместив «образец» файла конфигурации под контроль версии)
К сожалению, похоже, что хотя команда GNU patch
поддерживает флаг --reverse
, она не поддерживает многофайловый diff-формат hg как отдельный файл патча (или, может быть, так и есть, и я просто не знаю, переключатели для этого?). OTOH, hg имеет свою собственную команду patch
, которая может применить diff, но не поддерживает какой-либо флаг reverse
.
Итак, мой вопрос состоит из двух частей:
- Как следует сделать это в Mercurial? Конечно, держаться за «патч-твик» - не единственный способ справиться с этой ситуацией. Может быть, в Mercurial есть плагин или что-то встроенное для таких временных, неустранимых изменений.
- Помимо того, как все должно быть сделано , есть ли какой-нибудь способ отменить применение такого ртутного diff-патча к ртутному репо, как этот? В других ситуациях такая функциональность была бы полезна.