Perforce: файл, измененный после разрешения - отредактируйте или отмените

Я делаю интеграцию в Perforce, и меня встречают со следующими:

p4 integrate -1 -d -i -t -r -b my_branchspec
//Foo/file.txt#6 - integrate from //Bar/file.txt#6
p4 resolve -am
/Foo/file.txt - merging //Bar/file.txt#6
/Foo/file.txt tampered with before resolve - edit or revert.

Кажется, что бы я ни делал, я не могу решить эту проблему: следующая прямая интеграция покажет подобное сообщение.

Файл представляет собой текстовый файл. Я могу подтвердить, что хеш MD5 для обоих файлов перед интеграцией одинаков. Какие другие проблемы могут возникать с этим файлом, которые я могу решить, чтобы исправить это надоедливое сообщение?

4 ответа

Решение

Делаем принудительную повторную синхронизацию (sync -f) этого конкретного файла, а затем решить их (resolve -at) (поскольку я не трогал файл), проблема исчезла.

Случайно ли вы работаете в смешанной среде ОС, в частности, Mac и ПК?

В настоящее время мы изучаем проблему, при которой файлы исчезают после разрешения (без ошибки!) На ПК. Тип файла - "яблоко" (но не должно было быть / не должно быть. К сожалению, у нас много таких файлов уже в хранилище).

Текущий обходной путь - сделать интеграцию на Mac.

Вы можете столкнуться с этой проблемой, если при попытке объединить изменения вы откажетесь от инструмента слияния и вместо этого воспользуетесь внешним редактором для применения изменений.

Я не знаю, как избавиться от ошибки, чтобы она просто приняла мою ручную "подделку".

Что, кажется, работает (и это небольшая PITA), так это

  • Возьмите копию всего исходного дерева;
  • Отменить все изменения в P4V;
  • Сравните это с копией и повторно примените все изменения к дереву рабочей области P4V;
  • В P4V выберите «Согласовать автономную работу»;
  • Зафиксируйте изменения;
  • Повторите попытку объединения необходимых наборов изменений;
  • Разрешите все конфликты, выбрав «принять цель»;
  • Зафиксируйте неизмененные файлы.

Последние шаги необходимы для того, чтобы P4V знал, что наборы изменений были объединены.

Надеюсь, кто-нибудь из Perforce это прочитает. Отсутствие возможности через графический интерфейс отменить ошибку «вмешательства» — это полная PITA.

Трудно сказать, что вызвало это - возможно, права на файл были изменены?

В любом случае, если вы вернетесь //Foo/file.txt, все будет в порядке.

Другие вопросы по тегам