Как я могу дать команду Perforce объединять, а не перезаписывать или возвращать файлы при отмене хранения файла? - PullRequest
18 голосов
/ 29 октября 2010

Как я могу дать команду Выполнить , чтобы объединить изменения в существующий, открытый и измененный файл в рабочей области, когда не хранится файл, отложенный в хранилище? Единственные варианты, которые Perforce предлагает пользователю, - это перезаписать или отменить существующий файл в рабочей области, но это не позволяет, например, отменить удаление и объединить изменения в одном и том же файле из нескольких списков изменений. Есть ли способ обойти это ограничение?

Ответы [ 2 ]

25 голосов
/ 30 октября 2010

Что я обычно делаю, это щелкаю правой кнопкой мыши по полочному файлу и выбираю «Diff Against Workspace File». Когда вы открываете инструмент Различия, вы можете выбрать кнопку на панели инструментов, чтобы «Редактировать файл в правой панели». По сути, это начинается двустороннее слияние. С каждым различием вы можете выбрать нужные изменения из отложенного файла (различия выбираются из файла рабочего пространства по умолчанию).

Однако было бы неплохо, если бы 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.
0 голосов
/ 21 июня 2012

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

...