Подтвердить что ты не робот

Как я могу отменить интеграцию в Perforce и все еще иметь возможность ее повторить?

У меня плохой сборщик изменений в perforce. Я хочу поддержать его, и повторить его более тщательно (и, возможно, с меньшими приращениями).

Я использовал команду Perforce rollback, чтобы вернуться к предыдущей версии файлов, но когда я попытался повторить интеграцию, Perforce утверждал, что ничего не поделаешь. По-видимому, откат просто возвращает файлы, но ничего не делает о связанных с ним метаданных, связанных с интеграцией. Поэтому, когда я пытаюсь повторно интегрировать, Perforce считает, что "вы уже интегрировали две версии назад - теперь нечего делать".

Можно ли отменить список изменений, который связан с интеграцией, и оставить хранилище в состоянии, в котором я действительно могу сделать интеграцию снова?

Это большой проект, и интеграция была более 2000 файлов, поэтому я действительно не хочу, чтобы это делалось вручную.

4b9b3361

Ответ 1

Как вы видели, откат списка изменений не отменяет интеграцию. Записи интеграции сохраняются раз и навсегда после того, как интеграция происходит в базе данных perfroce.

Если вы хотите выполнить интеграцию, вы можете. Вы можете использовать флаг "-f" из командной строки для принудительной интеграции без учета предыдущей истории интеграции. Использование этого флага, по сути, начнет вашу интеграцию. Если вы используете p4v, в диалоговом окне интеграции, которое выполняет ту же операцию, есть опция под "расширенными параметрами".

Если вы хотите реинтегрировать только определенный диапазон версий (т.е. с определенной даты), убедитесь, что вы также указали это. В противном случае, если вы переработаете всю интеграцию, вам должно быть хорошо идти. Файл справки об интеграции указывает на то, что использование -f без диапазона редакции заставит p4 разрешить выполнение слияний без общей базы, так что будьте в курсе этого. Если вы начинаете с полной интеграции со всеми версиями исходного файла, то это предупреждение не будет применяться, я думаю.

НТН.

Ответ 2

Одна из возможностей (хотя это и не рекомендуется) состоит в том, чтобы "p4 стереть" изменения главы интегрированных файлов (целевых файлов, которые есть). Очень важно, чтобы файлы еще не были изменены при последующем изменении.

Только пользователь, имеющий соответствующие права ( супер, я думаю) может это сделать.

Так как это удаляет все следы интеграции (включая diff, history, all meta-data), это не рекомендуется. Его нельзя отменить.

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

Ответ 3

Я бы посоветовал вам отточить принудительную интеграцию только с файловым списком, содержащимся в конкретной интеграции

p4 описывают [ChangeList] | grep "^ \. \. \."

иначе вы могли бы воздействовать на большее количество файлов, чем предполагалось (любые изменения, которые были изменены SINCE вашего представления) или случайно действуют в более широком диапазоне.