Создайте рабочее пространство с корнем null и сопоставьте депо с этим клиентом. Вот пример спецификации клиента:
Client: client_name
Update: 2010/10/20 14:18:23
Access: 2010/10/20 14:20:53
Owner: raven
Host: ravens-pc
Description:
Created by raven.
Root: null
Options: noallwrite noclobber nocompress unlocked modtime rmdir
SubmitOptions: leaveunchanged
LineEnd: local
View:
//depot/... //client_name/...
Первое, что должен сделать ваш скрипт, это переключиться на этого клиента, установив переменную среды $ P4CLIENT $:
p4 set p4client=client_name
Ваш скрипт теперь будет работать в контексте этого клиента. В силу того, что вы указали корень пустого значения, любая выполняемая синхронизация будет относиться к текущему каталогу . Итак, если вы синхронизируете // depot / foo / ... в C: \ bar, ваши файлы появятся в C: \ bar \ foo.
Последнее, что должен сделать ваш скрипт, это очистить переменную P4CLIENT, чтобы восстановить систему в соответствии со спецификацией клиента по умолчанию:
p4 set p4client=