如何检查当前工作目录是否在 Perforce 工作区下?

How to check if a current working directory is under Perforce workspace?

我想使用 perforce 作为版本控制系统制作构建自动化工具。

当我 运行 一些批次自动从存储库下载最新版本时,我想检查当前工作目录是否有效。

例如,当我 运行

p4 add file.txt

对于不在工作区下的文件,我收到错误代码 = 1 的消息

Path 'c:\file.txt' is not under client's root 'D:\workspace'.

有什么方法可以明确检查目录是否在客户端的根目录下?

做:

p4 where ...

查看当前目录在当前客户端视图中的映射位置(如果有的话)。

请注意,当您从软件仓库同步(下载)文件时,当前工作目录不一定很重要。只需 运行 p4 sync 来同步您的整个工作区,或者使用 p4 sync //depot/path/... 来同步绝对库路径,如果这比让您的脚本找到相对于当前客户端计算机的正确路径更容易的话。