Пересадка hg терпит неудачу - как мне "исправить слияние", как она предлагает?
Моя ветка2274 была разветвлена по умолчанию. Прежний 415 был первым фиксатором, и он разделяет предка с rev. 412 в ветке по умолчанию.
Branch2274 - это исправление ошибок, которое вскоре нужно объединить в дефолт, но я сделал очень глупую вещь - я объединился в изменениях из ветки функции (в версии 418)
Проще говоря, мне нужно отменить все изменения, внесенные rev. 418. Кажется, есть много способов сделать это, но я изо всех сил пытаюсь заставить их работать:
Попытка меркуриальных очередей:
Я попытался импортировать revs 415, 416, 417 (пропуская 418), 421, 428 в очередь исправлений, поэтому я могу применить его к rev 425.
Проблема: tortoisehg разрешит мне импортировать revs 428, 421, но импорт 417 greyed, но импорт 418 просто дает мне ошибку "abort: невозможно импортировать версию 418 слияния"
Попытка трансплантации:
patching file Portal/Instructor/Login.aspx.vb
Hunk #1 FAILED at 18
1 out of 1 hunks FAILED -- saving rejects to file Portal/Instructor/Login.aspx.vb.rej
applying 66b6b089ee01
abort: Fix up the merge and run hg transplant --continue
patch failed to apply
[command interrupted]
Login.aspx.vb был изменен по умолчанию, и я понимаю, почему слияние не удалось.
Как мне установить "слияние"?
Альтернативно, есть ли более простой способ взять rev. 418 и сказать mercurial, чтобы отменить изменения, которые он внес с новой фиксацией на case2274?
Ответы
Ответ 1
В интересах не оставлять вопрос без ответа (!), мне удалось это решить, и окончательный ответ заключается в том, что нет простого способа его решения автоматически. Трансплантация заключает в себе исправления, различия между двумя файлами, но не учитывает общую родословную этих двух файлов, поэтому она пытается понять, что делать, когда файл был изменен двумя людьми в одном и том же месте.
Решение состоит в том, чтобы загрузить файл в текстовый редактор и загрузить файл .rej, в котором перечислены неисправные части патча. Я просто должен был добавить свои дополнения в разумное место в файле кода.
Продолжительность:
hg transplant --continue
.. разрешил мне применить другие исправления.
Если кто-то хочет потратить некоторое время на расширение этого ответа с небольшим пониманием или несколькими релевантными ссылками, тогда ответ будет зависеть.