Я новичок в сотрудничестве с Mercurial. Моя ситуация:
hg pull
Ed и hg merge
D без четкого представления о том, что происходит. Так что мне бы очень хотелось, чтобы я изменил свой локальный репо на 2 пробела перед слиянием; тогда слияние будет тривиальным (я полагаю). Но я не могу отступить. Я думаю, что мне нужно hg update -r 3
, но там написано abort: outstanding uncommitted merges
.
Как я могу отменить слияние, изменить интервалы в моем локальном репо и заново слиться?
Вы можете отменить незафиксированные изменения с флагом -C (или --clean):
hg update -C -r 3
ОСТОРОЖНО: Все, что не было зафиксировано, исчезнет!
После этого вам, вероятно, следует использовать какой-то инструмент форматирования кода, чтобы выполнить всю операцию, или, по крайней мере, найти и заменить регулярными выражениями. Что-то такое простое, как замена того, что соответствует ^__
(используйте 4 пробела вместо подчеркиваний) на __
(2 пробела), повторенные несколько раз (если у вас нет безумно вложенного кода), должно работать.
Мне, по-видимому, просто нужно было hg update -C -r 3
, которое перезаписывает мои локальные файлы с учетом rev (что, как я думал, hg update
сделает; но я ошибался). Спасибо за помощь!
Кстати: если вы просто отменили сделанное слияние, а номер 3 не является вашим номером ревизии, вы можете сделать это:
hg update -C -r .