2009-05-29 1 views
23

В частности:Может ли кто-нибудь объяснить параметры интеграции с принудительным вмешательством?

  • Почему мне нужно явно включить "Enable беспочвенные слияния" все время? Я интегрирую свою ветвь в багажник.

  • Что означает «Включить интеграцию по удаленных целей» означает? Не должно ли это сделать это по умолчанию? Если файл не существует, и вы интегрируете в , что ветвь с файлом, он должен создать файл, правильно?

  • Что такое «Неточная информация о текущем редакции выбранных файлов» относится к интеграции? Я должен выбрать исходную версию , а цель (до создать новую целевую ревизию).

  • Что означает «Отвлечься от косвенности История интеграции» означает? Я никогда не использовал его, так как это звучит страшно.

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

ответ

8
  1. В общем, чтобы объединить два файла, неволей ищет «базы», ​​ближайший пересмотр двух файлов и использует, чтобы обеспечить гораздо лучше диф, чем просто непосредственно Забегая сравнивает два файла. См. Knowledge Base Article. Не зная вашу настройку perforce, я не мог сказать, что происходит не так, однако у p4win есть интересные графические инструменты для визуализации ветвей, вы можете определить, почему perforce не может найти базу для вас. Это также то, что делает «Невзирая на историю косвенной интеграции»: останавливает ее от поиска базы.

  2. Для «не синхронизировать с головой»: при интеграции ваша «цель» - это файлы вашего локального клиента, на которые вы не указываете ревизию; вместо этого perforce будет либо синхронизировать вашу ревизию (если вы не используете «-h»), либо будете использовать тот, который у вас есть. Вы не можете указать произвольную ревизию, потому что ваш локальный клиент имеет только конкретный вариант.

+0

Спасибо за разъяснение о том, что означает p4 базой! И я предполагаю, что это означает, что если у меня есть файл моего филиала, но я пытаюсь интегрировать его из другой ветви ... P4 будет использовать мой извлеченный/отредактированный файл в качестве «вашей» версии в diff, против пересмотра головы? –

2

«Включить интеграцию по удаленным целям» может привести к проблемам, если сделать это вслепую. Вот пример: Представьте, что вы реорганизовываете свой код в следующей ветке выпуска и исключаете исходный файл в результате - функциональность была объединена с некоторыми другими исходными файлами. Затем вы исправляете ошибку в исходном исходном файле в ветке обслуживания для предыдущей версии. Если вы по умолчанию интегрируете удаление, возвращается мертвый исходный файл, но он не будет создан, и ошибка не будет исправлена. Лучше предупредить, что это произошло, поэтому вы можете вручную объединить исправление в другие исходные файлы.

+2

В то время как ваше предупреждение принято, не должно P4 просто показать, что повторно добавленный файл нужно разрешить, вместо того, чтобы бросать сообщение об ошибке на меня? –

9

Почему мне нужно явно включить «Включить беспочвенные слияния» все время? Я интегрируюсь из своей ветки в багажник.

Не может помочь вам здесь. Что-то неправильно.

Что означает «Включить интеграцию по удаленных целей» означает?

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

Не следует ли это делать по умолчанию?

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

Если файл не существует, и вы интегрировать в эту ветку с файлом , он должен создать файл, правильно?

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

  • Включить интеграцию вокруг удаленных изменений = -d
  • проинтегрировать удаленные цели = -DT
  • Удаление целевого файла, когда источник удален = -ds
  • попытаться интегрировать изменения, когда источник удален и повторно добавлен = -di

Вы можете узнать больше о них в помощи справки по интеграции (введите «p4 help integrate» в командной строке).

Что «Не последняя редакция выбранных файлов» нужно сделать с интеграции?

Это говорит Perforce использовать ревизию рабочего пространства целевого файла. По умолчанию головная ревизия целевого файла автоматически извлекается в рабочее пространство до его интеграции. Скажем, вы сделали одну ревизию файла ветки и интегрировали ее обратно в багажник. У сундука и ветки теперь есть две версии этого файла. Вы отправляете изменение в файл филиала, так что теперь он имеет 3 ревизии. Вы синхронизируете файл ветки обратно в ревизию 2. Если вы должны были выполнить обычную интеграцию прямо сейчас, Perforce предположил бы, что вы хотите интегрировать все до пересмотра главы и интегрировать ревизию 3 файла ветки в туловище. Если бы вы выбрали этот вариант, он сказал бы: «все ревизии уже интегрированы», потому что у вас есть ревизия 2 в вашей рабочей области.Было бы то же самое, как пытаться интегрировать с «Ограничить диапазон интегрирования:» параметр в значение «Включить все изменения, вплоть до:» Пересмотр 2.

Что «Игнорируйте косвенную историю интеграции» означает, ? Я никогда не использовал , так как это звучит страшно.

Я не могу найти ни информации о том, что это делает.

+0

Вы также можете проверить, какую версию Perforce вы используете. Возможно, ваша версия сервера значительно отстает. Я никогда не видел «игнорировать историю косвенной интеграции» - может быть, вы используете более старую версию сервера? Я смотрю документы 2008.2 и не вижу ссылки на них. – Mark

+0

Я использую P4V, Perforce Visual Client, начиная с 2009 года 25 марта. Для меня это совершенно новый интерфейс, так как я также привык к клиенту P2Win 2008.2. @raven: спасибо за примеры. –

Смежные вопросы