[SCM]源码管理 - perforce快速入门

 

Perforce是目前比较流行的集中式的源代码管理工具,在很多的欧美跨国公司被广泛的使用。他能够运行于Windows,Linux,Mac几乎所有的平台,支持客户端,命令行,IDE集成,操作系统shell,API等多种访问方式。而且他还能够很好地支持大型规模的软件公司的员工同时访问,能够很好地支持跨国的分布式团队的开发。对perforce server的管理也很方便。例如google就在使用perforce来管理源码。

 

一 Perforce 客户端入门

* 客户端我们可以使用p4命令行,也可以使用基于UI的p4v,同时客户端还带有p4merge用来帮助用户执行diff和merge。

* 客户端我们还可以使用IDE的plugin来在IDE中方便地执行所有的perforce操作,也可以在我们的自动化脚本中调用基于各种语言的API来执行Perforce操作。

* 基本的登录信息,p4v中为server,user,workspace,server表示p4server的地址,user表示user id,workspace表示server与本地的目录的映射关系,在p4命令中,对应的环境变量为p4server,p4user,p4client。

* client表示server与本地的目录的映射,在p4v中为new workspaces... , 对应的p4的命令为p4 client。

* 增加文件在p4v中为mark for add,对应的p4命令为p4 add。

* 删除文件在p4v中为mark for delete,对应的p4命令为p4 delete。

* 修改文件在p4v中为check out,对应的p4命令为p4 edit。

* 提交修改在p4v中为submit,对应的p4命令为p4 submit。

* 同步最新的代码到本地在p4v中为get latest reversion / get reversion ... ,对应的p4命令为p4 sync。

* 每次提交都会对应一个change list,用来唯一标识一次提交。

* 在提交前撤销修改,p4v中为revert unchanged files / revert files ...,对应的p4的命令为p4 revert。

* 在提交后撤销, p4v中为Rollback... ,对应的p4命令其实就是p4 sync + p4 submit。

* 要查看文件或文件夹的版本,在p4v中为file history / folder history, 对应的p4的命令为p4 filelog。

* 要修改文件或移动文件目录,在p4v中为rename / move ..., 对应的p4的命令为p4 move。

* 创建branch需要在p4v中new branch mapping + integrate using branch maping ...,对应的p4命令为p4 branch + p4 integrate。

* merge,在p4v中为resolve files,对应的p4的命令为p4 resolve。

* p4的命令p4 copy,其实是等于p4 integrate + p4 resolve -at。

* 创建label需要在p4v中new label... + label...,对应的p4命令为p4 label + p4 tag。

* 比较client的最新与本地的不同,p4v中为diff against havereversion。 对应的p4的命令为p4 diff。

* 比较任意的两个文件的不同个,p4v中为diff against... ,对应的p4的命令为p4 diff2。

* 查看目录下的文件,p4v中为files in folder,对应的p4的命令为p4 files。

* p4命令p4 info 或 p4 set查看当前的p4 server的和当前client的信息。

* 查看文件的内容对应的p4命令为p4 print。

* p4命令p4 where用来查看一个文件在server,client和本地的路径。

 

二 Perforce server入门

* Server的运行程序为p4d(如果作为service运行,需要改为p4s)。

* 为了支持分布式团队的开发,需要使用proxy,proxy的运行程序为p4p(如果作为service运行,需要改为p4ps)。

* 可以使用p4server自带的svcinst来在windows上同时部署多个server或proxy。

* p4server在linux上可以部署为daemon(service),或者也可以部署为xinetd的服务来运行。

* 对server的管理可以使用p4admin的UI的工具来完成, 或者使用p4 命令 p4 user + p4 group + p4 protect来进行权限的管理,使用p4 monitor来监视server。

* 使用p4d命令p4d -jc / jr来备份和恢复server。

* 也可以使用p4的命令p4 admin来进行部分的管理,例如停止server,备份server。

* 可以使用p4的命令p4 replicate 或 p4 pull来创建 replicated server,作为热备份server用来实现灾难恢复,或者作为offline server用来减少备份时mainserver的停机时间。

* replicated server + p4broker来实现 p4server的高可用性,或作为readonly server来减少mainserver的负载。

 

完!

posted @ 2011-08-26 12:08  iTech  阅读(7871)  评论(0编辑  收藏  举报