[SCM]源码管理 - perforce管理员需要知道的命令
1 p4 configure
用来管理server的配置变量,且修改立即起作用,不需要重新启动server。
当我们创建新和运行新的p4server后,一般需要修改如下的配置:
* 启动server进程的监视:p4 configure set monitor=1 or p4 configure set monitor=2;
* 启动基于ticket的认证方式: p4 configure set security=3;
* 阻止用户自己创建账号:p4 configure set dm.user.autocreate=2;
其他常用的选项:
* 设置最低的client的版本:p4 congigure set minClient=version;
* 当client的版本低于最低版本要求时的提示消息: p4 configure set minClientMessage=message;
* 查看所有的p4server的配置: p4 configure show;
* 查看本机上所有的p4server的共同配置: p4 configure show allservers;
* 查看p4server配置某变量的值: p4 configure variable;
* 查看某个命名p4server(当启动的时候使用参数-In P4NAME或设置了环境变量P4NAME)的配置: p4 configure show P4NAME;
2 p4 counter 和 counters
p4 counters 显示被perforce 或 相关的脚本使用的长期变量的列表。例如change中存储了最新的changelist(包含了未提交的pending changelist),journal存储了journal的名字,review中存储了上次review截止的chagnelist例如:
p4 counters
change = 92
job = 2
journal = 5
minClientMessage = please use new version 2010.2.
monitor = 1
upgrade = 22
在自动的话的脚本中可以使用counter,例如记录上次成功的build的changelist信息。
* 设置counter的值:p4 counter mycounter 123;
* 显示counter的值 (如果不存在,显示0): p4 counter mycounter;
* 删除counter : p4 counter -d countername;
* 对整数的counter自增1 : p4 counter -i countername;
3 p4 depot 和 depots
p4 depot用来创建,编辑和删除depot。一个p4server可以有多个depot(简单地理解为根目录)。depot 可以为local,remote,spec和archive类型。
* lcoal 为一般的depot,代码存储在本地的p4server。可以使用p4 depot depotname来修改depot的存储到不同的位置,默认地在p4root环境变量下;
* remote,只是对远程的p4server的depot的一个只读的链接,用来在多个p4server间共享代码;
* spec, 为p4server特定的depot,记录了对p4 server本身的database的修改,例如user,group,client等的修改历史;
* archive,为p4server特定的depot,存储了不常用的代码,需用使用命令p4 archive + p4 restore来进行一般的depot与archive depot的相互转化,一般不常用;
4 p4 flush = p4 sync -k
保持存在的workspace的文件,只是跟新db.have中记录的此workspace所包含的文件的版本信息。
假设有10个新来的dev需要建立环境,但是第一次代码的sync需要花费大量的时间,这个时候可以使用p4 flush来节约时间。过程为:
* dev1 基于firstworkspace运行p4 sync files;
* 其他的devs拷贝dev1 sync的文件到他们自己的client workspaces;
* 其他的devs运行 p4 flush files @firstworkspace来将他们的client workspace的状态sync到与firstworkspace相同。
此命令如果使用不正确可能导致p4 database处于不正确的状态,所以一般不使用。
可以使用p4 have来查看你的workspace中所有文件状态。
5 p4 logtail
查看最新的错误log。
6 p4 monitor
查看p4server的进程状态。
* p4 monitor show -el : 查看所有的p4server的进程。
* p4 monitor ternminate id : 结束某个p4server的进程。
7 p4 obliterate
从p4server上彻底删除文件和文件的历史记录。 一定要小心使用。
8 p4 ping
查看网络的性能,有的时候某些机器上sync代码很慢,这个时候可以使用此命令,将结果与其他的机器比较。
9 p4 set -s
在windows的注册表中设置perforce 变量。其他的系统中perforce使用环境变量。windows系统中也可以使用环境变量,如果环境变量定义了则覆盖注册表项。
设置环境变量到 windows的注册表:
* 只有当前用户可用:p4 set P4PORT=tea:1666;
* 所有用户都可用: p4 set -s P4PORT=tea:1666;
* 为NT service 设置 : p4 set -S p4svc P4PORT=1666;
* 删除某变量在注册表的值 :p4 set P4MERGE=
也可以定义windows的环境变量:
* set P4PORT=tea:1666
其他的系统如Linux,设置环境变量:
* P4PORT=tea:1666;
也可以通过配置文件来代替注册表或环境变量,如果使用配置文件,需要将配置文件名设置到P4CONFIG环境变量中。配置文件的格式如:
P4CLIENT=joes_client
P4USER=joe
P4PORT=ida:3548
p4 set 可以查看所有的环境变量和注册表的变量。
10 p4 triggers
用来管理p4server的所有的triggers。
11 p4 replicate 和 p4 pull
用来建立replicated server。
完!