Поскольку hg qrefresh
будет автоматически включать все изменения, вам нужно только исключить определенные файлы, и обновление фактически удалит все изменения этих файлов из патча.Затем вы можете восстановить файлы.
Это обновляет все, кроме file1
и file3
в патче (теперь патч не содержит изменений):
hg qrefresh -X ../../file1 -X ../../file3
Сейчас file1
и file3
все еще имеют некоторые изменения и должны быть отменены:
hg revert ../../file1 ../../file3
Это изменит текущие версии на ../../file1.orig
и ../../file3.orig
, на случай, если вам понадобятся изменения снова.Вы также можете добавить переключатель --no-backup
, и они не будут созданы.
Вы также можете сделать это в обратном порядке:
hg revert ../../file1 ../../file3
hg qrefresh
Для обновления не нужны аргументывремя, потому что он не увидит изменений в этих 2 файлах по сравнению с родительским в рабочем каталоге и, следовательно, исчезнет из патча (обновление патча в основном перезаписывает патч).Я бы так и сделал, но я также хотел продемонстрировать переключатель -X
.
Проверьте hg help revert
и hg help qrefresh
, чтобы узнать больше.