在shell中,当我位于作为p4工作空间一部分的目录中时,我可以在shell中运行p4命令,它知道我在哪个工作区。
但是,当我启动p4v时,我必须手动找到我要加载的工作区。因为,在shell中已经知道要运行的p4命令的上下文,我如何将其传递给p4v,因此它将在同一工作区中启动。当我启动工具时,我没有理由选择工作区,因为p4工具链已经可以自我确定上下文。
如果我想要选择一些我目前没有运营的其他工作区,我只需要选择工作区。
答案 0 :(得分:2)
正如您所发现的,P4V拥有自己的设置文件并忽略了shell的环境。根据这篇博文:
https://www.perforce.com/blog/100114/p4v-secrets-calling-p4v-command-line
我处理这个问题的方法是编写一个包装P4V并将当前环境传递给它的脚本/别名。这些方面的东西:
$_ = `p4 -Ztag -F "%serverAddress%@%clientName%@%userName%" info`;
@env = split /\@/;
exec "p4v -p $env[0] -c $env[1] -u $env[2]";