[SCM]源码管理 - perforce命令行高级

Posted 念槐聚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[SCM]源码管理 - perforce命令行高级相关的知识,希望对你有一定的参考价值。

一 p4命令行

1)p4counter.bat


call p4env.bat

REM counter is one persistant variable which is storaged in p4 server

REM p4 default counter for latest cl
p4 counter change

REM all p4 counters
p4 counters

REM need superuser permission
p4 counter lastpassedcl 25000

pause

REM use counter
p4 counter lastpassedcl

pause

REM delete counter
p4 counter -d lastpassedcl

pause


counter是存储在p4 server的一个环境变量,只有有管理员权限的用户才可以设置p4 counter变量。p4 counter change存储了最新的CL。

 

2)p4diff.bat


call p4env.bat

REM compare local workspace with latest version, but the file must be checked out.
p4 diff //depot/TestProject/Components.txt

pause

REM if the file is not checked out, the file version cannot be the latest version.
p4 diff //depot/TestProject/Components.txt#10

pause


 

3)p4add+edit+delete+submit.bat



call p4env.bat

p4 add //depot/TestProject/addfile.txt
echo test > H:\\TestProject\\addfile.txt

pause

p4 edit //depot/TestProject/components.txt
attrib -r H:\\TestProject\\components.txt
echo ccc 100>>H:\\TestProject\\components.txt

pause

p4 delete //depot/TestProject/File3.txt

pause

p4 submit -d "testaddeditdeletesubmit"

pause


p4 add :增加文件到default CL;

p4 edit :checkout(open for edit)文件到default CL;

p4 delete : 将文件标识为delete,且添加到到default CL;

p4 submit :提交default CL,但是必须用-d来指定Description;

 

3)p4print.bat



call p4env.bat

p4 print -q //depot/TestProject/components.txt#head

pause

p4 print -q -o c.txt //depot/TestProject/components.txt#head

pause


 获得p4 上文件的内容。

 

4)p4branch+integrate+resolve+submit.bat



call p4env.bat

set branchname=TestProjectAndTestProject2

echo Branch: %branchname% > branchspec.txt
echo.>> branchspec.txt
echo Description: the branch spec will be used for integration between TestProject and TestProject2 >> branchspec.txt
echo.>> branchspec.txt
echo Owner: %p4user% >> branchspec.txt
echo.>>branchspec.txt
echo Options: unlocked >> branchspec.txt
echo.>>branchspec.txt
echo View: //depot/testProject/... //depot/testproject2/... >> branchspec.txt


cat branchspec.txt | p4 branch -i


p

ause

p4 integrate -b %branchname% -Dt -Ds

pause

p4 resolve -am
p4 resolve -n

pause

p4 submit -d "sumbit for integration"

pause

 


自动完成branch的integration。

  

二 其他技巧

1)文件版本参数

#0或#none :表示从本地workspace中删除;
#have :表示本地workspace的版本;
#head :表示p4 server最新的;
@now, @labelname, @datetime, @changelistnumber ; 

实例:
doc/...@Good2Go 
doc/...@3405
doc/...@2004/01/04 
doc/index.html#14


作者:​​iTech​

微信公众号: cicdops

github:​​https://github.com/cicdops/cicdops​

[SCM]源码管理




以上是关于[SCM]源码管理 - perforce命令行高级的主要内容,如果未能解决你的问题,请参考以下文章

从环绕 SCM 迁移到 Perforce

将单个 Jenkins 发布作业配置为使用 Perforce 作为 SCM 从主干或分支发布

将 Perforce scm 配置到 maven 项目中以获取最新的更改列表

Perforce使用命令行修改changelist的Description

Perforce使用命令行修改changelist的Description

[SCM]源码管理 - mercurial