Используйте Perforce для захвата текущего состояния внешнего каталога - PullRequest
0 голосов
/ 30 августа 2010

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

Я думал о том, чтобы сделать p4 edit для всех файлов в сгенерированном каталоге (для существующих файлов), а затем сделать p4 add с использованием подстановочных знаков, чтобы получить любые новые файлы, но я не знаю, как с ними обращаться файлы, которые были сгенерированы ранее, но не сгенерированы в самой последней сборке (должны быть удалены).

Ответы [ 4 ]

0 голосов
/ 10 сентября 2010

Для двоичных файлов в Perforce вы можете установить флаг FileType, который хранит только 1 (или заданное количество) ревизий для файла в хранилище.Таким образом, у вас будет история файла, но ваши другие пользователи будут иметь доступ только к двоичному файлу для последней версии файла, а также ваш сервер будет хранить только одну копию, что намного более эффективно для хранения, если вам не нужно хранить несколько копий.

Чтобы внести изменения.

  1. Добавьте интересующие вас файлы в хранилище.
  2. Извлеките файл.
  3. Rightщелкните в P4V и выберите «Изменить тип файла»
  4. . В появившемся диалоговом окне выберите + S «Сервер ограничивает количество сохраненных ревизий» в нижней части экрана, что ограничит количество сохраняемых файлов.

Надеюсь, это поможет.

0 голосов
/ 31 августа 2010

Я нашел это в блоге перформанса, и это именно то, что я искал. Автоматическая замена папок с использованием P4Java и Apache Ant

0 голосов
/ 01 сентября 2010

Одна идея состоит в том, чтобы перед сборкой удалить все в этой области вручную (не через Perforce, а через ОС). После выполнения сборки выполните «Согласование автономной работы». Это позволит согласовать в «Выполнении» то, что у вас есть в этой области, добавив новые файлы, удалив те, которых больше нет, и отредактировав те, которые изменились.

Вы можете согласовать автономную работу через P4V, как показано здесь. В браузере рабочей области щелкните правой кнопкой мыши папку и выберите «Согласовать автономную работу».

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

p4 diff -se //myclient/... | p4 -x - edit

для проверки измененных файлов.

p4 diff -sd //myclient/... | p4 -x - delete

для удаления файлов.

find . -type f -print | p4 -x - add
find . -type l -print | p4 -x - add

для добавления файлов и символических ссылок в Unix или

dir /s /b /a-d | p4 -x - add

для добавления файлов в Windows.

0 голосов
/ 31 августа 2010

Начните, как вы предложили - p4 edit и p4 add, чтобы зафиксировать все изменения, затем позвоните

p4 revert -a

Который вернет любой файл в хранилище, открытый для редактирования, но фактически не измененный или отсутствующий.

...