Как я могу отменить решение -am по волеизъявлению?

P4D / LINUX26X86_64 / 2013.2 / 938876 (23.09.2014)

У меня были некоторые изменения в списке изменений по умолчанию, которые я пытался отложить. Он сказал, что я не могу, потому что мне нужно решить с каким-то другим списком изменений. Мои файлы оказались в другом списке изменений. Посмотрев на различия, я понял, что хочу сохранить все свои изменения и ничего не принимать из другого списка изменений. Думая, что «-am» означает «принять мой», я запустил «p4 resolve -am». Затем был момент «Дууууххххх», когда я вспомнил, что «-am» означает «автоматическое слияние».

В: Как я могу «отменить» только что произошедшее автоматическое объединение, чтобы восстановить то, что у меня было?


273
1

Ответ:

Если в какой-то момент вам удалось успешно отложить файлы на полку, вы можете вернуть файлы предварительного разрешения с полки с помощью «p4 unshelve».

В качестве правила Общее вы не можете отменить результаты операции разрешения, чтобы вернуть «ваш» файл, поскольку файл рабочей области нигде не копируется.

Поскольку это было автоматическое слияние, одним из вариантов было бы попытаться запустить слияние в обратном порядке. Вы начали с A (база) + AB (их) + AC (ваш), а теперь у вас есть ABC (слияние) - поэтому вы хотите настроить слияние, которое будет производить AC. Это будет AB (база) + A (их) + ABC (ваш) = AC (объединенный) - в основном вы хотите найти "базу" и "их" из автоматического объединения и перевернуть их, используя объединенный результат как "твой". Запустите «p4 resolved -o», чтобы найти «базовый» и «их» файл из предыдущего слияния, затем запустите «p4 print», чтобы получить содержимое этого файла, и используйте «p4 merge3» для запуска алгоритма 3-стороннего слияния с три подходящих входа и выход должен быть вашим исходным файлом (теоретически).