启动 p4v 时自动选择工作区

automatic selection of workspace when launching p4v

在 shell 中,当我位于作为 p4 工作区的一部分的目录中时,我可以 运行 在 shell 中执行 p4 命令,它知道我在哪个工作区英寸

但是,当我启动 p4v 时,我必须手动找到我想要加载的工作区。由于 运行 的 p4 命令的上下文在 shell 中已经已知,我如何将其传递给 p4v,因此它将在同一个工作区中启动。我没有理由在启动该工具时必须 select 一个工作区,因为 p4 工具链已经可以自行确定上下文。

如果我想要 select 我当前不在其下操作的其他一些工作区,我应该只需要 select 工作区。

如您所见,P4V 有自己的设置文件并忽略 shell 的环境。根据此博客 post:

https://www.perforce.com/blog/100114/p4v-secrets-calling-p4v-command-line

我处理这个问题的方法是编写一个 script/alias 包装 P4V 并将当前环境传递给它。沿着这些线的东西:

$_ = `p4 -Ztag -F "%serverAddress%@%clientName%@%userName%" info`;
@env = split /\@/;
exec "p4v -p $env[0] -c $env[1] -u $env[2]";