当前位置: 首页 > 工具软件 > Perforce > 使用案例 >

perforce(P4)常用命令(命令行)

蒋正平
2023-12-01

序号

命令

说明

1p4 -c <clientName> sync <filename>全部同步, 注意需要指定客户端名称 如 -c test, 后面可以 具体文件名称
2p4 edit filename修改文件
3p4 client <cliName>在某个目录下执行,创建一个client,注意修改 里面的View,对应的是要下载server里面的代码
4

export P4CLIENT=autoconfig

export P4PASSWD=123456
export P4USER=test
export P4PORT=localhost:1666

 可以指定默认的client

没设置可能会报以下 错误:

Perforce client error:
SSL connect to ssl:1666 failed (Connection reset by peer).
Remove SSL protocol prefix from P4PORT or fix the TLS settings.

5p4 changes查看变更
6p4 client -o -S "//streamsDepot/mainline" "test123" | p4 client -i创建client, 并修改对应关系
7p4 client -d test123删除client
p4 client -o -S "//JF_UEProj/main" operation4 |sed 's#//main/...#//main/Common/Excel/Conf/...#' | sed '/Stream/d' | p4 client -i注意指定了stream的话,view视图关系会默认,需要删除stream关系,并修改view视图,这种方法无法提交
p4d -r /usr/local/perforce -p 1666 -J journal -L log -d开启服务器
p4 set P4PORT=localhost:1666
echo ${ClientBuilderPwd}|p4 login

client连接服务器

有密码的情况下登录

p4 clients 查看所有的client
p4 -c <clientName > opened 查看所有打开的文件
p4 set P4CLIENT=Trunk_P4_ExcelConvert设置默认client
p4 set P4ROOT=%WORKSPACE%\E
p4 set P4USER=${ClientBuilderAccount}
p4 set P4PASSWD=${ClientBuilderPwd}
p4 reconcile -a -d -e重新获取变更文件,用于强行改变文件编辑状态的情况下获取文件修改列表

p4 opened <stream文件路径>

p4 where <filename>

p4 查看opened文件真正路径

会显示该文件的三个视图的路径,第一个为stream流即服务器路径,第二个为在改客户端的路径,第三个为本地路径

p4 set P4CHARSET=utf8
p4 set P4COMMANDCHARSET=cp936

p4 set P4COMMANDCHARSET=utf8

设置编码格式, 如果遇到 命令中带有中文的话,设置P4COMMANDCHARSET

linux机器还是用utf8

p4 set P4COMMANDCHARSET p4 查看变量值, 变量后面不加=value就可以
p4 revert ./... -wp4 批量revert文件
p4 change -o | sed "s#<enter description here>#test#" | p4 change -i生成一个空的changelist
p4 reopen -c {changeNum}> <fileName>在指定changelist中重新打开

p4 shelve -f -Af -c {changeNum}> {fileName}

将文件暂存到服务器
p4 print -q {fileName}<@=changeNum>||<#versionNum>打印指定版本文件内容(注意无法打印工作区已修改但是没有提交的文件,可以使用shelve功能先暂存,再利用changlist打印), 可以用changelist或者版本号来指定内容

安装p4 服务端脚本

set -x
function IsCmdExist() {
local cmd="$1"
if [ -z "$cmd" ]; then
echo 1
fi
which "$cmd" >/dev/null 2>&amp;1
if [ $? -eq 0 ]; then
echo 0
fi
echo 2
}
function InstallP4() {
#
# P4 CLIENT
#

echo "p4-cli: Install p4 yum repo"
cat > /etc/yum.repos.d/perforce.repo <<EOF
[perforce]
name=Perforce
baseurl=http://package.perforce.com/yum/rhel/6/x86_64/ 
enabled=1
gpgcheck=1
EOF

echo "p4-cli: Install p4 yum repo signing key"
rpm --import http://package.perforce.com/perforce.pubkey 

echo "p4-cli: Install p4"
yum -y install helix-p4d
}
# Exist=$(IsCmdExist)
# if [ $Exist -ne 0 ]; then
InstallP4
# fi

 类似资料: