Perforce
中的工作区和软件仓库之间是否存在映射?例如,如果我在D:/myWorkspace
上创建了一个工作区,我是否可以运行Perforce命令来查找创建它的库?
答案 0 :(得分:2)
如果您连接到Perforce服务器,这非常简单;运行p4 where //...
或p4 client -o
之类的命令来查看与当前客户端工作区关联的软件仓库。
如果您已连接到Perforce服务器,但这些连接设置不包含可能与当前目录关联的工作区名称,则您需要使用{{1命令并将p4 clients
值与客户机主机名匹配,然后查找与该目录匹配的Host
值。请注意,可能会有多个匹配项 - 人们有时会做一些事情,例如创建一个没有Root
值的客户端(允许从任何主机使用它)和/或Host
value(允许它映射任何目录)。
如果您甚至不知道Perforce服务器的地址并且未在环境中设置,那么您可能会失去运气; Perforce命令将自动从系统环境,注册表,P4CONFIG文件等中获取P4PORT设置,但是不保证任何给定的Perforce客户端计算机将通过这些机制之一建立连接(在在最常见的情况下,有人可能会通过null Root
全局标志在每个命令上指定P4PORT。
编写Perforce命令脚本时,假设一个包含有效P4PORT / P4USER / P4CLIENT设置的正确配置环境通常是合理的,如果用户没有提供这些设置,则会出错。从用户使用P4 CLI的shell中运行的脚本已经具有正确配置的环境,脚本从P4V作为"自定义工具"运行。