Волей — неволей-найдите самые последние обновленные файлы в ветке

#perforce

Вопрос:

Как я могу упорядочить файлы по «последним измененным» или получить список последних измененных файлов в принудительном порядке?

Комментарии:

1. Вам нужны файлы в определенном диапазоне времени (например, все файлы, измененные на этой неделе), или вам нужно определенное количество изменений файлов, упорядоченных по времени отправки?

2. @Samwise время отправки. Ваш ответ работает. Спасибо

Ответ №1:

Один из способов подойти к этому-начать с p4 changes (который упорядочивает свои выходные данные по последним) и передать результат в p4 files :

 C:Perforcetestgt;p4 -ztag -F @=%change% changes -m10 -ssubmitted | p4 -x - files //stream/main/move/bar#1 - move/add change 276 (text) //stream/main/move/foo#2 - move/delete change 276 (text) //stream/main/move/foo#1 - add change 275 (text) //stream/main/seongchan-test/B/01.txt#3 - move/add change 274 (text) //stream/main/seongchan-test/B/02.txt#2 - move/delete change 274 (text) //stream/main/seongchan-test/B/01.txt#2 - move/delete change 273 (text) //stream/main/seongchan-test/B/legacy_01.txt#1 - move/add change 273 (text) //stream/main/seongchan-test/main/01.txt#3 - move/add change 272 (text) //stream/main/seongchan-test/main/02.txt#2 - move/delete change 272 (text) //stream/main/seongchan-test/main/01.txt#2 - move/delete change 271 (text) //stream/main/seongchan-test/main/legacy_01.txt#1 - move/add change 271 (text) //stream/main/seongchan-test/A/01.txt#3 - move/add change 269 (text) //stream/main/seongchan-test/A/02.txt#2 - move/delete change 269 (text) //stream/main/seongchan-test/A/01.txt#2 - move/delete change 268 (text) //stream/main/seongchan-test/A/legacy_01.txt#1 - move/add change 268 (text) //stream/main/seongchan-test/A/01.txt#1 - branch change 267 (text) //stream/main/seongchan-test/A/02.txt#1 - branch change 267 (text) //stream/main/seongchan-test/B/01.txt#1 - branch change 267 (text) //stream/main/seongchan-test/B/02.txt#1 - branch change 267 (text) //stream/main/seongchan-test/main/01.txt#1 - add change 266 (text) //stream/main/seongchan-test/main/02.txt#1 - add change 266 (text)  

Обратите внимание, что изменения файлов упорядочены по убыванию изменений, потому что мы получили каждый пакет с помощью p4 files @=CHANGE команды.

Другой подход, если вам просто нужны «недавно обновленные файлы» для некоторого произвольного значения «последние», состоит в том, чтобы выполнить простую p4 files команду с диапазоном версий, например диапазоном дат:

 C:Perforcetestgt;p4 files @2021/07/30,now //stream/main/main/A/01.txt#3 - move/add change 265 (text) //stream/main/main/A/02.txt#2 - move/delete change 265 (text) //stream/main/main/A/legacy_01.txt#1 - move/add change 264 (text) //stream/main/main/B/01.txt#1 - branch change 263 (text) //stream/main/main/B/02.txt#1 - branch change 263 (text) //stream/main/move/bar#1 - move/add change 276 (text) //stream/main/move/foo#2 - move/delete change 276 (text) //stream/main/seongchan-test/A/01.txt#3 - move/add change 269 (text) //stream/main/seongchan-test/A/02.txt#2 - move/delete change 269 (text) //stream/main/seongchan-test/A/legacy_01.txt#1 - move/add change 268 (text) //stream/main/seongchan-test/B/01.txt#3 - move/add change 274 (text) //stream/main/seongchan-test/B/02.txt#2 - move/delete change 274 (text) //stream/main/seongchan-test/B/legacy_01.txt#1 - move/add change 273 (text) //stream/main/seongchan-test/main/01.txt#3 - move/add change 272 (text) //stream/main/seongchan-test/main/02.txt#2 - move/delete change 272 (text) //stream/main/seongchan-test/main/legacy_01.txt#1 - move/add change 271 (text)  

В обоих случаях вы можете включить спецификацию файла, чтобы ограничить результаты определенной ветвью (например, добавить //depot/my_branch/... в p4 changes команду или включить ее в команду @date,now для p4 files команды).