Perforce: повторная интеграция списка изменений - PullRequest
1 голос
/ 02 ноября 2009

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

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

Обновление:

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

Ответы [ 2 ]

4 голосов
/ 02 ноября 2009

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

for file in `p4 opened` do
  p4 integ $file $somedestination/$file
done
3 голосов
/ 02 ноября 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
...