Perforce介绍

概述
创建或编辑一个版本库的定义
语法
p4 [g-opts] depot depotname
p4 [g-opts] depot -d depotname
p4 [g-opts] depot -o depotname
p4 [g-opts] depot -i
描述
Perforce 服务器上的文件都储存在版本库中。缺省情况下,每个Perforce服务器上只有一个版本库,而且它的名字为depot.

为了创建或编辑一个版本库,可以使用p4 depot depotname 命令并编辑表单中的字段。版本库为三种类型中的一种:local, remote, 或 spec.

其他的本地版本库工作方式同缺省版本库。例如, 为了同步一个在版本库new里面的rel2目录下的README文件, 添加 //new/rel2/... 到你的客户工作区映射表的左边,然后运行 p4 sync //new/rel2/README 命令

如果你使用的是remote 版本库,那么你的 Perforce 服务器(该机器在P4PORT 定义)被配置为允许你的Perforce客户端程序从不同的Perforce服务器读取文件。远程的版本库严格限制为 read-only 访问权限; Perforce 客户程序不能对其他服务器上的版本库进行文件的add, edit, delete, or integrate 操作。关于远程版本库的详细信息可以阅读《Perforce 系统管理员手册》

spec 版本库, if present, 对用户编辑过的表单例如,客户工作区定义表单,工作表单,分支表单等等进行跟踪记录。 每个服务器上只能有一个spec 版本库。在 spec 版本库里的文件由服务器自动生成,并且在Perforce语法中另显示为:
   //specdepotname/formtype/objectname[suffix]

例如, 如果 spec 版本库已经存在而且命名为spec, 而且使用缺省前缀为.p4s, 你可以通过下面命令获得对job000123 的改变纪录:
   p4 filelog //spec/job/job000123.p4s

关于如何设置一个 spec 版本库德更多信息, 请阅读《系统管理员手册》

在你创建完成一个spec 版本库后,可以使用p4 admin updatespecdepot 命令 pre-populate it with current set of client, depot, branch, label, typemap, group, user, and job forms.
表单子段
字段名          类型          描述
Depot:          Read-Only        在p4 depot depotname 命令中提供的版本库名    
Owner:          Writable        版本库的所有者。缺省下,就是常见了版本库的该用户。
Description: Writable        一个对版本库目的的简短描述。可选
Type:          Writable        local, remote,或 spec. 本地版本库可写,远程版本库是其他服务器上的版本库的代理,而且不可写; spec版本库,如果存在, 记录被编辑过的表单    

Address:        Writable        如果类型是: remote, 那么地址为 P4PORT 的远程服务器的地址.如果类型是: local 或 spec, 该字段被忽略
Suffix:          Writable        如果类型是: spec, 这个字段会保留一个可选的前缀给在spec版本库中的对象生成路径
缺省前缀是 .p4s 。 你在使用spec 版本库的时候不需要前缀, 但是 but supplying a file extension to your Perforce server's versioned specs enables users of GUI client software to associate Perforce specifications with a preferred text editor.如果类型是: local 或 remote, 该字段被忽略

Map:          Writable        如果类型是: local 或 spec, set the map to point to the relative location of the depot subdirectory relative to the Perforce server's P4ROOT. 该映射必须包含 ... 通配符; 例如,一个local 版本库 new 可能含有一个映射是:new/... .

如果类型是:remote, set the map to point to a location in the remote depot's physical namespace, for example, //depot/new/rel2/... . This directory will be the root of the local representation of the remote depot.

选项

-d depotname
删除版本库 depotname. 该版本库必须没有任何文件; Perforce 的超级用户可以通过 p4 obliterate命令移走文件

如果版本库是 remote, p4 obliterate 仍然需要运行;没有任何文件被删除,但是所有 outstanding的客户或标签记录都会指出该版本库被删除了

-i
从标准输入设备读入版本库的定义

-o depotname
把版本库的定义写入标准输出设备

g-opts
阅读 全局选项 部分

使用提示
Can File Arguments Use Revision Specifier?           N/A
Can File Arguments Use Revision Range?             N/A
Minimal Access Level Required                      super

* p4 depot 创建的版本库在服务器上并没有被物理创建直到有文件被通过p4 add 命令添加到该版本库中。
* 用户没有权限访问一个由p4 depot命令创建的版本库,直到通过命令 p4 protect设置了该版本库的访问权限。
* 远程版本库 depots 永远允许一个名为remote的虚拟用户访问,而且缺省情况,所有在Perforce服务器上的文件由可以被远程访问。为了限制或删除到一个特定服务器的远程访问,可以使用p4 protect 命令设置该服务器上remote用户的权限。

例如,为了删除特定服务器上对所有版本库所有文件的远程访问,可以在该服务器其设置下面的权限:

      read user remote * -//...

因为远程版本库只能使用阅读权限,所有没有必要删除写和超级权限。
虚拟用户remote 不占用Perforce的一个授权

* 缺省下,本地版本库的映射字段指向匹配版本库名字的一个版本库目录,该目录和你服务器的根 (P4ROOT)设置有关。为了保存版本库的一个版本的文件到不同的卷或驱动器,可以在映射字段里指定一个绝对路径。这路径可以不在 P4ROOT 下
* 在windows系统的版本库表单的映射字段里的绝对路径必须使用反斜线( 例如, d:/newdepot/)

相关命令

列表查看Perforce服务器已知的所有版本库          p4 depots
用文件实例化一个新的版本库                      p4 add
从已存在的客户工作区添加一个映射到新的版本库    p4 client
从一个版本库中移走一个文件的所有记录             p4 obliterate
设置 版本库的远程访问权限                          p4 protect

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值