Подтвердить что ты не робот

Как перечислить все файлы, измененные списком изменений perforce

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

4b9b3361

Ответ 1

Это команда describe. Чтобы описать конкретный список изменений, вы хотите p4 describe <changelist number>.

Update:

Если вы хотите только имена файлов, вы можете использовать команду files с опцией -F для переопределения формата вывода: p4 -Ztag -F "%depotFile%" files @=<changelist>

Подробнее о опции -F см. http://www.perforce.com/blog/130826/fun-formatting.

Ответ 2

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

Для изменения 12345 это будет ближе всего к команде p4

p4 files @=12345

который дает только этот выход

//depot/file1#3 - delete change 3 (text)
//depot/file2#3 - edit change 3 (text)
//depot/file5#1 - add change 3 (text)

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

p4 files @=12345 | sed s/#.*//

чтобы получить желаемый результат

//depot/file1
//depot/file2
//depot/file5

принятый в настоящее время ответ от Майка - это

p4 describe 12345

который дает все эти дополнительные детали на выходе

Change 12345 by [email protected] on 2013/06/21 00:25:28

    Some example changes

Affected files ...

... //depot/file1#3 delete
... //depot/file2#3 edit
... //depot/file5#1 add

Differences ...

==== //depot/file2#3 (text) ====

1c1
< This is file 2
---
> This is file 2 - edited

Это было улучшено с помощью Doug answer, который использует grep и awk, чтобы отфильтровать шум и просто оставить файлы изменены, но команда довольно длинная

p4 describe -s 12345 | grep '^\.\.\.' | awk '{print $2}'

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

Ответ 3

Ответ Майка О'Коннора тоже помог мне.

Что касается только того, что список файлов был изменен, не может ли это быть так просто, как это?

p4 describe -s {change number} | grep '^\.\.\.' | awk '{print $2}'

что я буду использовать.

Ответ 5

p4 change -o

Он имеет список файлов в конце.