Принудительная потоковая копия хочет удалить файлы

#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 and p4 branch -o -S <stream> , но я не уверен, как вы собираетесь это выяснить в P4V.