P4 Commandline Интеграция и решение проблем - PullRequest
1 голос
/ 20 марта 2019

Я часто использую git, но я новичок в командной строке P4. Я использовал P4V, но сейчас у меня нет этой опции. Я попытался объединить изменения из промежуточной ветви в нашу основную ветку:

p4 integrate //depot/working/staging/...@124466 //depot/mainline/...

p4 submit

Это вызвало проблему must resolve с одним из файлов.

Merges still pending -- use 'resolve' to merge files.

Итак, я побежал p4 resolve. Это дало мне возможность объединять, редактировать и т. Д. Я выбрал редактировать. Находясь на экране редактирования, я нажал несколько клавиш, которые закрыли окно редактирования. Теперь я застрял. Я не могу закончить решение. Кажется, ни одна из команд, которые я пробовал, не работает:

p4 resolve

p4 resolve -c 124570 - список изменений, созданный p4 (?)

p4 revert - отменить изменения

p4 revert -c 124570

p4 revert -c 124570 <the file>

На всех этих курсорах просто сидит там. Никаких действий.

Я попытался запустить p4 submit -c 124570. Это снова дает мне сообщение use resolve, но это не работает.

Есть идеи? Я не знаю, что еще Google для этого. Помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 20 марта 2019

Звучит так, будто процесс редактора все еще выполняется в фоновом режиме, и p4 ожидает его выхода, чтобы он мог продолжить разрешение.

Было бы полезно узнать, какой у вас редактор, но я собираюсь сделать дикое предположение, что вы на Mac и это TextEdit, потому что это очень распространенное преступление - нажмите TextEdit в своей док-станции, а затем перейти к TextEdit > Quit TextEdit. (В будущем вам может потребоваться p4 set P4EDITOR=vi или что-то еще, что будет быстро завершено при закрытии файла, поскольку это намного лучше работает с инструментами командной строки.)

Если это не TextEdit, но вы знаете, как использовать командную строку, используйте свой опыт командной строки на своей платформе, чтобы просто убить редактор (ps / kill или любой другой).

Если все это не удастся, вернитесь к этому мигающему курсору и нажмите Ctrl-C, чтобы просто убить процесс p4. Это будет работать везде. : P Когда вы снова p4 resolve, он должен просто взять приблизительно то место, где остановился (в каком бы состоянии он не мог выполнить запись на рабочую область и / или сервер до того, как вы его убили).

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