Как я могу определить, что p4 syn c приводит к конфликту? - PullRequest
0 голосов
/ 08 мая 2020

Я работаю над пакетным процессом для обновления клиентской рабочей области, и может случиться так, что это приведет к конфликту из-за открытых файлов в клиентской рабочей области:

D:\perforce\project>p4 sync D:\perforce\project\...@12345

может привести к:

// server / project / inc / test.h # 106 - открыт и не изменяется ... //server/project/inc/test.h - должен разрешить # 106 перед отправкой

Как я могу обнаружить это до / после пакетного задания без анализа вывода p4 операции syn c?

1 Ответ

1 голос
/ 08 мая 2020

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

Для обнаружения до того, как файлы открыты (что означает, что syn c не сможет обновить эти файлы и / или может запланировать операции разрешения), используйте команду p4 opened, например:

p4 opened D:\perforce\project\...

, чтобы конкретно получить информацию о том, что будет делать syn c (будет ли он разрешать по расписанию или просто пропускает файлы потому что они уже открыты в ревизии более 12345?), выполните sync -n:

p4 sync -n D:\perforce\project/...@12345

Чтобы после факта узнать, есть ли какие-либо ожидающие операции разрешения, выполните p4 resolve -n:

p4 resolve -n
OR: p4 resolve -n D:\perforce\project\...  (to limit the scope to that directory)
...