我正在使用Perforce C++API开发一个应用程序,这就是我创建新客户端的方式:
OutputClient ui;
char* argv[1] = {"newClient"};
client.SetArgv(1,argv);
client.Run("client", &ui);
client.Set("newClient");
这与使用命令相同:
p4 client newClient
这将创建客户端(如果它不存在),并将工作区(客户端根目录)设置为我的VisualStudio项目目录。
是否有任何方法可以通过p4命令或使用API指定或设置客户端根?而且,当我使用"client"命令时,它总是打开那个烦人的表单,有什么方法可以阻止这种情况发生吗?
p4 client
的帮助说明默认客户端根目录是当前工作目录。也许这就是它选择Visual Studio项目目录的方式。
从命令行,您可以将客户端规范(包括所需的根目录)写入文件,然后使用p4 client -i < clientspec.txt
将其上载到服务器。通过重写ClientUser::InputData()
,C++API支持在没有临时文件的情况下做同样的事情。
p4 client -i
与p4 client -o clientname > clientspec.txt
结合使用特别有用,因为您可以读取现有的客户端规范,对其进行修改,然后将其写回服务器。(当然,它不是原子读/修改/写。)