【问题标题】:Perforce - how to prevent "p4 client" from creating a client when the template form is not saved?Perforce - 如何防止“p4客户端”在未保存模板表单时创建客户端?
【发布时间】:2021-04-07 07:57:01
【问题描述】:

p4 client <no args> 的 Perforce 文档指出:

p4 客户端命令将客户端规范放入一个临时文件中,然后 调用由环境变量 P4EDITOR 配置的编辑器。 对于新工作区,客户端名称默认为 P4CLIENT 环境变量(如果已设置)或当前主机名。保存 文件创建或修改客户端规范。

我在我们的网络上看到的是无论如何都会创建客户端,即使我没有保存就退出。

例如

[cad_test_user@sws-cab9-0 ~]$ pwd
/home/cad_test_user
[cad_test_user@sws-cab9-0 ~]$ env | grep P4
P4EDITOR=
P4PORT=tcp:p4p:1666
P4DIFF=tkdiff
P4CONFIG=.p4config
P4IGNORE=.ignore
P4USER=cad_test_user

[cad_test_user@sws-cab9-0 ~]$ p4 clients | grep sws-cab9-0
[cad_test_user@sws-cab9-0 ~]$ p4 client
Client: sws-cab9-0
Owner:  cad_test_user
Host:   sws-cab9-0.aus5.mythic-ai.com
Client sws-cab9-0 saved.
Root:   /home/cad_test_user
Options:        noallwrite noclobber nocompress unlocked nomodtime normdir
SubmitOptions:  submitunchanged
LineEnd:        local
View:
<quit without save>
Client sws-cab9-0 saved.

[cad_test_user@sws-cab9-0 ~]$ p4 clients | grep sws-cab9-0
Client sws-cab9-0 2021/04/06 root /home/cad_test_user 'Created by cad_test_user. '

现在,作为 .p4config 层次结构之外的另一个用户,我得到了 %clientroot% 的意外值:

[cad_test_user@sws-cab9-0 /]$  p4 -F %clientRoot% -ztag info
/home/cad_test_user

我想知道我们的默认设置是否有问题;为什么即使没有写入也会创建和保存客户端?理想情况下,我想在某种程度上管理默认规范,例如:

  1. 合成客户端名称,使其永远不会是主机名,例如c:$USER:foo
  2. 没有“主机:”
  3. 将“根:”定义为个人位置
  4. 除非用户退出写入,否则不要创建客户端!

感谢您的回答!

【问题讨论】:

    标签: client perforce specifications


    【解决方案1】:

    设置一个触发器(client 表单上的 form-save 触发器)拒绝不符合您条件的客户。很难直接执行 #4,但只要您的其他标准中至少有一个需要编辑表单,它就可以间接处理得很好。

    请注意,您可以将form-save 触发器与修改默认客户端表单的form-out 触发器配对——例如,您可以将Root 替换为--ENTER SOMETHING PERSONALIZED HERE-- 等明显无效的字段,然后确保您的@ 987654328@ 触发器拒绝它。 Perforce 系统管理员指南有一些不错的简单示例触发器,其中一个演示了自定义客户端规范默认值:https://www.perforce.com/manuals/p4sag/Content/P4SAG/scripting.triggers.forms.out.html

    根据您的标准 #2,我建议您不要这样做,除非您所处的环境中多台主机共享一个文件系统是司空见惯的。默认的主机护栏可防止您通过重用客户端规范而使工作空间状态失控,从而避免混淆自己(并可能丢失数据)。

    【讨论】:

      猜你喜欢
      • 2012-02-02
      • 1970-01-01
      • 2019-09-05
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 2012-09-19
      相关资源
      最近更新 更多