hg трансплантация не удалась - как мне «исправить слияние», как это было предложено? - PullRequest
17 голосов
/ 06 августа 2010

Моя ветка 2274 была разветвленной по умолчанию.Откровение 415 было первым коммитом, и оно разделяет предка с преподобным.412 в ветке по умолчанию.

Branch2274 - это исправление ошибки, которое требует скорого слияния с дефолтом, НО я сделал очень глупую вещь - я слил изменения из функциональной ветви (на ред. 418)

Проще говоря, мне нужно отменить любые изменения, внесенные rev.418. Кажется, есть много способов сделать это, но я изо всех сил пытаюсь заставить любой из них работать:

Попытка ртутных очередей:

Я пытался импортировать обороты 415,416, 417, (пропуская 418), 421, 428 в очередь исправлений, чтобы я мог применить его к версии 425.

Проблема: tortoisehg разрешит мне импортировать только версии 428, 421, но импорт 417 неактивенно импорт 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 был изменен по умолчанию, и я понимаю, почемуСлияние не удалось.

Как «исправить» слияние?

В качестве альтернативы, есть ли более простой способ для меня взять обороты.418 и сказать mercurial отменить внесенные изменения новым коммитом в case2274?

1 Ответ

18 голосов
/ 07 августа 2010

Чтобы не оставить вопрос без ответа (!), Мне удалось решить эту проблему, и окончательный ответ заключается в том, что не существует простого способа решить его автоматически. Трансплантат работает с патчами, различиями между двумя файлами, но не принимает во внимание общую родословную двух файлов, поэтому пытается понять, что делать, если файл был изменен двумя людьми в одном месте.

Решение состоит в том, чтобы загрузить файл в ваш текстовый редактор и загрузить файл .rej, в котором перечислены неисправные части патча. Я просто должен был поместить свои дополнения в разумное место в файле кода.

Продолжительность:

hg transplant --continue

.. позволил мне применить другие патчи.

Если кто-то захочет потратить какое-то время на расширение этого ответа с небольшим пониманием или несколькими релевантными ссылками, тогда ответ - их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...