第一章
TCP/IP,开发人员就能够通过多种Perforce客户端(几种平台的GUI、WEB、或命令行)访问
Perforce服务器。Perforce能够被快速和容易地部署,即使对大型或分布式的站点,也只要求最小限
度的管理。Perforce可以使用在50多个操作系统中,它包括版本控制、工作空间管理、变更处理和
一个强大的分支模型。这里介绍的P4V是perforce的一种可以跨平台使用的客户端。
1.1. Perforce结构
1.2.专业术语定义
第二章 Perforce使用介绍
2.1客户端配置
2.1.1. 服务器连接
1.是首次在您的机器上使用P4V,那开始会出现如下的创建工作空间窗口。选择“Create a new client
workspace”,在你的本地机器上创建你的第一个工作空间。
2.在菜单栏上,选择“Connection”下拉菜单中的“open Connection”选项。
3.弹出如下配置窗口,按如下配置填写正确的服务器名、端口、用户名、密码及工作空间设置。
4.在这里需要强调的是,登录时请务必填写Workspace的内容,否则Perforce的一些操作无法正常执行。如果还没有创建Workspace,请点击New,界面如下:
5.在此填入您在自己机器上所新建的工作区名称,并在如下图所示窗口中设置本地目录等信息:
如下:
注意将“Option”的“modtime”选项选中。
1.填写完成后,提交确认(OK), 开始连接相应的服务器。
2.1.2 客户端上配置
1.
2.
还是要手动Revert。
(此功能还可以通过在pending changelist框中全选提交文件,右击,选择菜单“Revert If Unchanged”
完成。)
3.
(但如果是对目录CHECK OUT,则不会提示)
2.1.3 客户端主要工作区
上图所示的是Perforce的主界面,大部分的操作都是在该界面下完成的。该界面分为三个区域:
区域1:显示Deport以及Workspace中的内容,称为目录区。
区域2:列出文件的一些操作属性,称为操作区。
区域3:给出所执行操作的提示信息,称为信息区。
2.1.3.1 目录区
目录区由Depot目录区和Workspace目录区组成。
1.Depot目录区
显示了服务器上可见目录结构(用户权限设置不同,可见目录也不同),这也与Workspace View映
射文件路径有关系,可以指定显示文件路径。在这里,可以执行的操作包括: check out, submit,
Get Latest Revision, Revert Files等操作。
2 Workspace目录区
显示了与服务器上文件有映射关系的,本地工作空间的目录结构,这与Workspace View也有关系。
操作同上。
操作区中的内容主要由如下的几种工作区组成。
1. Pending changelists 工作区
这里显示当前用户正在修改的文件和其他开发者正在修改的文件。
当然,你只需要关心你自己的project即可。当你执行:Mark for Add,check out等操作时,这些信息
就会显示在changlist列表中显示,并由不同的图标显示其状态。如果你修改完成后,执行submit就
可提交更新文件;但也可以执行revert放弃所作的修改。
2. Submitted changelists 工作区
显示了近期所有项目组成员对项目所做的操作。
从中可以获得如:changlist号、修改时间、修改文件的内容、修改原因及修改人等信息。
3.
在该工作区中可显示所有连接在服务器上的客户端工作空间。
在此工作区内可以执行创建、编辑修改、删除用户工作空间等操作。(前提是有执行的权限。)
4.
查看指定文件的变更历史信息。
5.
查看目前所有的label号。
在此工作区中可完成label的创建,内容的修改等。(前提是有执行此操作的权限。)
6.
查看目前所有的Branch号。
在此工作区中完成Branch的创建,修改、删除等。(前提是有执行此操作的权限。)
除了以上说明的几种工作区,还有Files、Users、Jobs、Details以及Fild files等工作区。包括上述的
六种在内,这几个工作区窗口可以通过界面上,如下图所示的选项卡相互切换:
2.1.3.3.
由一个窗口(Pane windows)组成。
Pane windows
这是一个非常有用的窗口,称之为消息窗口区,最底下的那个窗口就是。你的任何操作的信息都会
出现在这里,包括success, warning, error等信息。特别是执行某个操作失败后,这里的信息是至关
重要的。一般情况下,都可以根据这里的信息来处理一些意外情况或者是不规范操作。
2.2.
2.2.1.
1.
将添加文件行为显示在pending changelists工作区中。在工作区上增加好文件夹和文件后,图标上有
个红色的加号标志
务器上的仓库中。所以,右键点击需要提交的文件夹或文件,选择Submit,提交完毕后,文件此时
才真正提交到服务器上的仓库中。
2.
在Submit的过程中,需要写下该变更的描述,这点很重要!描述信息的详细,将大大的方便对文件
的查询和跟踪。且在描述的开头用英文说明此次操作行为的类型。如用Add表示添加;Modify表示
修改;Build表示编译等等。
点击Submit后,即可看到文件前面的红色加号已经去掉了,并且在Reversion栏中已经显示出该文件
的版本号。此时,文件的右下角有个绿色的标识,表示该文件当前显示的是最新版本。
2.2.2.
如果需要对文件进行修改,首先将需要修改的文件Check Out出来到本机,才可以进行修改。
1.
此时被Check Out出来的文件左上方有个红色钩标志,表明该文件已经成功的被您Check Out出来了
。如果是文件的右上方有个蓝色钩标志,说明该文件已经被别人Check Out出来了。由于Perforce支
持并行操作,所以您仍可以将别人已经Check Out的文件再次Check Out到您本机进行修改。
2.
修改完毕后,右键点击该文件,选择Submit,写下变更列表的描述。
3.
在这里需要提醒大家的是,如果将某个文件Check Out出来后,并没有做任何修改,这时请不要做
Submit操作,而是点击右键选择Revert If Unchanged,这样提交后就不会增加该文件的版本数了,
否则服务器将会为一个没有做任何修改的文件增加一个版本。
建议在每次修改后思考:为什么要做这些修改?如果所作的修改是没有意义的,那么,建议不要将
这个文件提交(submit),而是Revert你所做的修改。
2.2.2.1.
合并操作主要用来解决并行开发过程中变更产生的冲突。
例如,当有多人需要对同一个文件同时执行Check Out操作时,在Submit该文件时,Perforce可能会
报错。现举例如下:有A、B两人需要同时对CallKeep.cpp文件执行Check Out操作。
此时可以看到文件CallKeep.cpp的左上角和右上角分别有钩,这说明该文件正在被至少两个人执行
Check Out操作。由于Perforce支持并行操作,所以A和B在执行Check Out时不会发生冲突,但
Submit该文件时就可能报错了。第一个执行Submit操作的人不会出现问题,例如A可以正常提交,
但如果B修改的内容和A修改的相冲突,则B执行Submit时报错,并且会提示服务器上已经有最新的
版本了(即A刚刚提交的版本)
此时B获得最新版本后再提交,仍报错。
且在文件上打个问号,说明服务器不知道该怎么办,因为B需要提交的版本内容和A的相冲突,需要
B给予解决。
这时,选中该文件,右键点击,选择Resolve操作。
Perforce提供了三种自动解决方案,分别是“Accept Merged”、“Accept Yours”和“Accept Theirs”。当
然,你也可以查看和别人冲突的地方在哪里,进行手动解决冲突。点击Run Merge Tool,显示如下
图所示界面。
区域1:显示的是A提交版本中的内容,即目前服务器上的最新版本。
区域2:显示的是A和B同时Check out文件CallKeep.cpp时,当时服务器上最新版本内容,也就是A、
B修改的基础版本。
区域3:显示的是B自己修改的文件内容。
区域4:显示了三个版本所有冲突的地方,B可以在此基础上对文件做修改,给出解决方案。
选择红线框中的按钮来决定所保留的代码。解决完冲突后再Submit即可。
2.2.3.
1.
2.
此时Perforce为您取出任何一个你想要的历史版本。
2.2.4.
比较操作主要是用来查看某个文件到底做了哪些修改:从中你可以看出添加了什么,删除了什么等
等。
1.
Files命令。
2.
3.
在这里需要注意的是:Perforce暂时不支持多个文件的比较。同时,如果在进行两个文件比较时,
文件的大小超过2MB,Perforce也会报错,出现以下所示界面:
请大家在操作过程中注意!
2.2.5.
如果您在服务器上找到自己所需要的文件,并希望把这些文件同步到本机,这时就需要首先选择好
工作区Workspace,然后右键点击需要下载的文件夹,选中Get Lastest Revision命令,就可以完成
文件夹的同步操作了。
2.2.6.
提取出标记特定label下的文件。
1.
2.
3.
4.
第三章
1.
2.
3.
check out告诉服务器要修改指定文件,而实际上是把本地文件的属性从只读变为可写, 需要注意
的是千万不要手动去改文件信息,服务器并不会知道手工修改,这样只会带来不必要的麻烦,这些
信息会显示在pending changelists的defualt这个接点下面。
4.
凡在Perforce上的任何删除操作,都由配置管理员统一操作完成。如有删除文件的需要,将需要删
除的文件的Perforce上路径发给配置管理员来完成。
5.
在签入文件前,首先要查看所签入文件的类型是否包含在已设定文件类型中(可
在//depot/Misc/Types/typemap.txt文件中作查找),否则为包含的文件类型是不能成功加入perforce配
置库的。
第四章
2.1.
1.
2.
3.
除Username为用户本人名以外,其他配置信息如图。
4.
)后,点击“Install”开始安装。
5.