2017-01-27 3 views
1

Есть ли способ просмотреть все списки изменений, которые были сделаны в контексте потока в perforce? Меня интересует способ командной строки.Просмотреть историю потоков в perforce

Аналогичный вопрос: предположим, что у меня есть поток и его родитель. Можно ли найти список изменений, являющийся их последним общим предком?

+0

'p4 changes // Stream/name/...' - хорошее место для начала первого вопроса, а 'p4 interchanges' - хорошее место для начала второго вопроса. –

ответ

0

Если вы хотите увидеть не только локально сделанные изменения, но и те, которые включены через import, самый простой способ, чтобы переключиться на поток и выполнить запрос в контексте текущего клиента:

p4 switch STREAMNAME 
p4 changes //CLIENTNAME/... 

Изменения, сделанные локально, обычно находятся на пути депо, который соответствует имени потока (например, //stream/STREAMNAME/...), но если вы используете import+, это не обязательно так (хотя, если вы используете import+, концепция изменений, сделанных в контексте конкретного потока полностью выходит из окна).


найти список изменений, который является «последним общим предком» зависит, что вы хотите использовать этот предок для и то, что вы считаете, чтобы быть «общим предком» и даже то, что «последние» означает (слово «последняя «подразумевает самые последние хронологически, но это не обязательно то же самое, что« самое близкое »с точки зрения наиболее общности). Некоторые общие подходы, которые могут быть полезны:

  1. Используйте команду p4 istat, чтобы увидеть, когда последнее слияние/операция копирование произошло и что последние изменения в том, что каждый включено.
  2. Используйте команду p4 changes -i для каждого потока, чтобы узнать, какие списки изменений он включает (включая интегрированных предков), а также найти общих предков.
  3. Используйте команду p4 integrate -o, чтобы увидеть базу слияния для каждого файла и получить связанный с ней список изменений с p4 changes или p4 files.
+0

Что касается последнего общего предка, сценарий использования следующий: у меня есть дочерний поток (предположим, что я реализую функцию), и я хочу увидеть изменения, которые были сделаны в этом потоке, и не были скопированы в родительский. «Последний общий предок» Я имею в виду последний список изменений родительского потока, который был объединен с ребенком. Если бы я мог найти этот список изменений, я мог бы обновить этот снимок, а затем сравнить его с головой ребенка. – Kostas

+0

Подождите - все время ваш вопрос был действительно «как мне создать собственную версию команды« p4 interchanges »?» Зачем вам это делать, а не просто использовать существующую команду? :) –

+0

Я задаю вопрос, потому что я не знаю, что представляет собой существующая команда. Это просто: работа над функцией в дочернем потоке. Я хочу видеть работу, которая была выполнена (т.разницу с последним общим предком или любым эквивалентом), и в идеале последовательность представлений, которые привели к этим изменениям. – Kostas

0

Благодаря Сэму Стаффорду за это указание.

Первое использование

p4 interchanges -S <child_stream_name> 

Это даст вам список тех изменений, которые не были скопированы на родительскую ветвь.

Для просмотра diffs вы можете использовать «p4 описать» в каждом списке изменений в списке.

Смежные вопросы