Как определить, удаляет ли список изменений ветку в депо classi c Perforce? - PullRequest
0 голосов
/ 18 января 2020

У меня есть класс c Perforce депо. Дан список каталогов, где каждый каталог представляет собой ветвь. Есть ли способ определить, удаляет ли данный список изменений все файлы в ветви (и, следовательно, удаляет всю ветку)?

Например:

//depot/branch1
//depot/branch2

Я пытался : p4 sync -n //depot/branch1/...@<CHANGELIST> для синхронизации c всей ветви. -n - для имитации или предварительного просмотра syn c. Но возвращенный результат мне не помогает. Есть ли другой вариант, как это обнаружить?

1 Ответ

2 голосов
/ 18 января 2020
C:\Perforce\test>p4 help files

    files -- List files in the depot

    p4 files [ -a ] [ -A ] [ -e ] [-i] [ -m max ] file[revRange] ...

        ...

        The -e flag displays files with an action of anything other than
        deleted, purged or archived.  Typically this revision is always
        available to sync or integrate from.

C:\Perforce\test>p4 files dir/...
//stream/main/dir/bar#2 - delete change 119 (text)
//stream/main/dir/foo#2 - delete change 119 (text)

C:\Perforce\test>p4 files -e dir/...
dir/... - no such file(s).

Так же:

p4 files -e //depot/branch1/...

Если в нем указано no such file(s), то все в этом каталоге удалено.

Если вы хотите проверить состояние на определенное время отправленный список изменений, просто добавьте список изменений в качестве спецификатора ревизии:

C:\Perforce\test>p4 files -e dir/...@119
dir/...@119 - no such file(s).

C:\Perforce\test>p4 files -e dir/...@118
//stream/main/dir/bar#1 - add change 106 (text)
//stream/main/dir/foo#1 - add change 106 (text)

В этом примере мы можем сказать, что изменение @119 определенно было тем, которое удаляло каталог, потому что в этом списке файлов изменений не существует, но на предыдущем они делают.


Это работает так же, как в хранилище потоков:

C:\Perforce\test>p4 switch foo

C:\Perforce\test>p4 files ...
//stream/foo/dir/bar#2 - delete change 131 (text)
//stream/foo/dir/foo#2 - delete change 131 (text)

C:\Perforce\test>p4 files -e ...
... - no such file(s).
...