[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
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
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 //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 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
pause
p4 integrate -b %branchname% -Dt -Ds
pause
p4 resolve -am
p4 resolve -n
pause
p4 submit -d "sumbit for integration"
pause
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
pause
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