#perforce #perforce-stream
#волей-неволей #волей-неволей-поток
Вопрос:
Я только что закончил объединение некоторых изменений из родительского потока в дочерний поток. Каким-то образом слияние пропустило кучу новых файлов в родительском потоке, которые необходимо было создать в дочернем потоке (и я не заметил). Итак, теперь файлы существуют в родительском, но не в дочернем.
Теперь, когда я копирую обратно в родительский файл, он хочет удалить все эти недостающие файлы. Я не могу повторно объединить родительский файл с дочерним, потому что perforce говорит, что для слияния нет выдающихся изменений. Как я могу это исправить?
Обновить
Вот настройки для принудительной интеграции в p4v:
Ответ №1:
Похоже, когда вы выполняли слияние, вы решили «игнорировать» (он же «принять ваш» или «принять целевой» в зависимости от того, какой пользовательский интерфейс вы используете) новые файлы. По сути, это то же самое, что если вы игнорируете измененный файл a во время слияния; дочерний файл сохранит исходную (неизмененную) версию файла, а при копировании обратно в родительский файл дочерняя версия перезапишет родительскую версию, устраняя изменения, которые вы проигнорировали.
Если игнорирование было ошибкой, вы можете использовать p4 integrate -f
для принудительного другого слияния / разрешения. В качестве альтернативы, если вы уже знаете, что просто хотите, чтобы у дочернего элемента была точная копия того, что находится в родительском элементе (т. Е. Вы не Пытаетесь объединить отдельные изменения), вы можете использовать p4 copy -F
для копирования в «неправильном» направлении (от родителя к дочернему элементу), чтобы дочерний элемент получил то же самоеверсия файла, который в настоящее время есть у родительского файла.
Комментарии:
1. Отлично, спасибо за совет. Я на самом деле не использую командную строку, поэтому пытаюсь разобраться в p4v. Если я щелкну правой кнопкой мыши по дочернему потоку и выберу
Merge/Integrate to 'my-child-stream'
, я увижу диалоговое окно слияния. Оттуда я могу нажатьSet Defaults...
внизу. Затем я получаю другое диалоговое окно, и подBehavior -> Integrate flags
ним есть флажок с надписьюForce integration on all revisions, disregarding integration history (-f)
. Должен ли я установить этот флажок и повторить попытку? Смотрите Мой пост для фотографий.2. К вашему сведению, я пошел дальше и попытался установить
-f
флаг, о котором я упоминал выше, в pv4, но волей-неволей все еще говорит мне, что объединять нечего. Может быть, это неправильная настройка?3. Я рекомендую отправить электронное письмо в службу технической поддержки Perforce. Возможно, в определении потока есть что-то необычное — обычно я бы отладил это, запустив
p4 client -o
andp4 branch -o -S <stream>
, но я не уверен, как вы собираетесь это выяснить в P4V.