Как я могу дать команду Perforce объединять, а не перезаписывать или возвращать файлы при отмене хранения файла?
Как я могу дать команду Perforce объединить изменения в существующий, открытый и измененный файл в рабочей области, если не хранить файл, хранящийся в хранилище? Единственные опции, которые Perforce предлагает пользователю, - это перезаписать или отменить существующий файл в рабочей области, но это не позволяет, например, отменить удаление и объединить изменения в одном и том же файле из нескольких списков изменений. Есть ли способ обойти это ограничение?
2 ответа
Обычно я щелкаю правой кнопкой мыши по полочному файлу и выбираю "Различать файл рабочей области". Когда вы открываете инструмент Различия, вы можете выбрать кнопку на панели инструментов, чтобы "Редактировать файл в правой панели". По сути, это начинается двустороннее слияние. С каждым различием вы можете выбрать требуемые изменения из готового файла (различия выбираются из файла рабочего пространства по умолчанию).
Однако было бы неплохо, если бы Perforce добавил функцию слияния, чтобы сделать это более автоматически.
Изменить, чтобы добавить: Perforce теперь имеет встроенную возможность объединять файлы, когда они не сохраняются. Если пользователь снимает с полки файл, который также был извлечен, а флажок "Восстановить извлеченные файлы перед снятием с учета" снят, Perforce помечает этот файл для разрешения. Я просмотрел заметки о выпуске и не смог найти, в какой версии была добавлена эта возможность, но по этой ссылке (см. В нижней части p4 unshelve
описание), было добавлено не позднее 2012.1.
Отредактировано снова, чтобы добавить: Эта функция была добавлена в выпуске 2011.1 сервера. Вот примечание к выпуску:
#299614 (Bug #38221, #39099) **
Unshelving a file opened for edit over a file already opened
for edit in the workspace is now allowed. A resolve record is
created when unshelving, and the user must then run 'p4 resolve'
to resolve the workspace files with the shelved files.
Если вы извлекаете файл, а затем пытаетесь отправить его, у вас будет возможность получить последнюю версию без замены своей копии. Затем он впоследствии даст вам возможность запустить инструмент слияния, где вы должны разрешить любые конфликты перед отправкой.