Perforce:仅获取 depot 文件的本地路径
Perforce: get ONLY the local path of a depot file
我需要获取一个depot文件的本地路径,例如:
input: //MyDepot/MyBranch/my file.txt
output (mac): /Volumes/p4/MyDepot/MyBranch/my file.txt
或:
output (windows): F:\p4\MyDepot\MyBranch\my file.txt
'p4 have' 和 'p4 where' 都会产生不利于解析的输出,包括我不需要的映射信息。这个简单的任务有 p4 命令吗?
非Windows OS, 运行:
p4 -ztag -F %path% where <depotFilePath>
这将为您提供仅包含本地路径的单行代码。
在 Windows 上,%path% 扩展为系统环境路径,因此这仅适用于非 Windows 系统。
-F 是一个客户端选项,所以如果您没有它,您可能需要更新您的 p4 二进制文件。如果你没有它,并且无法更新二进制文件,你也可以 运行 p4 -ztag where <depotFilePath>
.
你会得到容易解析的输出。关键是path
获取文件的本地路径
输出将如下所示:
... depotFile //depot/a
... clientFile //gabe/a
... path /Users/gabe/tmp/a
非常接近,Samwise。我本来可以对主要答案发表评论,但还没有足够的代表,抱歉。
为了防止Windows扩展环境变量,两个百分比都需要进行胡萝卜转义,并且表达式的那部分不能用引号引起来。
示例:p4 -ztag -F ^%change^%,^%time^%,^%path^% changes -m 3
2020/4/2 的示例:https://community.perforce.com/s/article/15148
我需要获取一个depot文件的本地路径,例如:
input: //MyDepot/MyBranch/my file.txt
output (mac): /Volumes/p4/MyDepot/MyBranch/my file.txt
或:
output (windows): F:\p4\MyDepot\MyBranch\my file.txt
'p4 have' 和 'p4 where' 都会产生不利于解析的输出,包括我不需要的映射信息。这个简单的任务有 p4 命令吗?
非Windows OS, 运行:
p4 -ztag -F %path% where <depotFilePath>
这将为您提供仅包含本地路径的单行代码。
在 Windows 上,%path% 扩展为系统环境路径,因此这仅适用于非 Windows 系统。
-F 是一个客户端选项,所以如果您没有它,您可能需要更新您的 p4 二进制文件。如果你没有它,并且无法更新二进制文件,你也可以 运行 p4 -ztag where <depotFilePath>
.
你会得到容易解析的输出。关键是path
获取文件的本地路径
输出将如下所示:
... depotFile //depot/a
... clientFile //gabe/a
... path /Users/gabe/tmp/a
非常接近,Samwise。我本来可以对主要答案发表评论,但还没有足够的代表,抱歉。
为了防止Windows扩展环境变量,两个百分比都需要进行胡萝卜转义,并且表达式的那部分不能用引号引起来。
示例:p4 -ztag -F ^%change^%,^%time^%,^%path^% changes -m 3
2020/4/2 的示例:https://community.perforce.com/s/article/15148