2010-07-09 91 views
6

我在尝试发现如何更改客户端规格选项和提交选项的默认设置。如何为perforce客户端规格设置默认值

set P4CLIENT=my_new_client_1 
p4 client 

给了我以下规格默认规格:

Client: my_new_client_1 
... 
Options: noallwrite noclobber nocompress unlocked nomodtime normdir 

SubmitOptions: submitunchanged 
... 

现在我的机器上我要永远使用revertunchangedrmdir例如,但好像我需要记住手动设置这个每次我创建了一个新的客户端。

有什么办法可以达到这个目的吗? p4集似乎只影响可由环境变量设置的内容。

回答

7

您不能更改默认的客户端规格模板(除非您是Perforce系统管理员),但您可以设置和使用您自己的模板。你会首先创建一个虚拟的客户端与客户端规格具有您所需的值:

Client: my_template_client 
... 
Options: noallwrite noclobber nocompress unlocked nomodtime rmdir 

SubmitOptions: revertunchanged 
... 

然后你只需指定虚拟客户端应创建新的客户时,可以用作模板:

p4 client -t my_template_client my_new_client_1 
+0

谢谢,我怀疑我不得不求助于模板。我假设你上面的命令行在最后缺少“客户端”;) – Greg 2010-07-09 07:10:11

+0

哎呀,对不起。这应该是 'p4客户端-t my_template_client my_new_client_1' – rettops 2010-07-09 07:39:32

3

这里的第一个反应是不正确的:

您可以使用触发器在Perforce中创建默认clientspec。

本质上,您创建一个脚本,该脚本在服务器上运行,并在有人在窗体客户端上进行窗体输出时运行。这个脚本必须检查clientspec是否已经存在,然后如果它不是(如果它是新的clientspec),则替换一个合理的“default”。

请注意,这工作正常,甚至在P4 SysAdmin指南(您正在寻找的确切示例在那里!),但它可能有点难以调试,因为触发器运行在服务器上,不在客户端!

手册: http://www.perforce.com/perforce/r10.1/manuals/p4sag/06_scripting.html

具体案例: http://www.perforce.com/perforce/r10.1/manuals/p4sag/06_scripting.html#1057213

+2

请注意,我的第一行说“除非你是Perforce系统管理员”。你的例子来自Perforce系统管理员指南。触发器只能由Perforce超级用户定义。 – rettops 2010-07-09 22:57:46

+1

感谢您的信息 - 我可能不会有权设置触发器,但我会给它一个去。我认为你所提出的在这里对某些人来说是有价值的,所以也许我可以把它分成两个问题 - 一个用于严格基本用户,另一个用于更完整访问的用户。 – Greg 2010-07-10 10:35:13