Perforce: повторная обратная интеграция списка изменений

уже спрашивал об этом в SU; но я ценю значок Tumbleweed там, я бы предпочел ответ...)

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

Обновление:

Я использую инструмент командной строки, а не p4v или другой графический интерфейс. Кроме того, рассмотрите возможность того, что у меня могут быть открыты и другие файлы, например, набор файлов в p4 opened может быть надмножеством интересующего меня списка изменений.


person fbrereto    schedule 02.11.2009    source источник
comment
Было бы неплохо узнать, используете ли вы командную строку «p4» или какую-то версию пользовательского интерфейса (p4v?)...   -  person jhwist    schedule 02.11.2009


Ответы (2)


Perforce печально известен тем, что предоставляет не полные инструменты, а только то, что вы можете передать и обработать. Вы можете попробовать сделать что-то вроде

for file in `p4 opened` do
  p4 integ $file $somedestination/$file
done
person stimms    schedule 02.11.2009

Вы имеете в виду, что хотите отменить существующие интеграции и сделать их заново, включив в них недавно внесенные изменения? Если это так, что-то вроде этого может работать:

p4 opened | sed -e 's:#.*::' > filespecs
xargs < filespecs | p4 revert
xargs < filespecs | p4 integrate -b branch

Первая команда безвредна, но две другие разрушительны, поэтому проверьте, добавив «echo» перед командами p4, чтобы убедиться, что сгенерированные команды p4 команды выглядят правильно для вас. например:

xargs < filespecs | echo p4 revert
xargs < filespecs | echo p4 integrate -b branch
person Laurence Gonsalves    schedule 02.11.2009