Perforce 从p4v检测工作区开关
如果我在P4V中打开了一个工作区,并且我切换了工作区,有没有办法通知或检测到切换已在外部发生 工作区包含一个编辑器,需要签出文件来修改它们。我担心通过P4V进行切换会使编辑器不知道文件现在来自不同的流 如果可能的话,我宁愿在编辑器中检测到这一点,也不必从P4V发出通知 谢谢,Perforce 从p4v检测工作区开关,perforce,Perforce,如果我在P4V中打开了一个工作区,并且我切换了工作区,有没有办法通知或检测到切换已在外部发生 工作区包含一个编辑器,需要签出文件来修改它们。我担心通过P4V进行切换会使编辑器不知道文件现在来自不同的流 如果可能的话,我宁愿在编辑器中检测到这一点,也不必从P4V发出通知 谢谢, Alex如果用户正在使用一个新的工作区,他们也将使用一组不同的文件,因此希望不会有太多的混淆。(除非他们用同一根创建了多个工作区,在这种情况下,他们会尽最大努力去除自己的膝盖骨。) 如果他们在当前工作区内切换了流,您可以使
Alex如果用户正在使用一个新的工作区,他们也将使用一组不同的文件,因此希望不会有太多的混淆。(除非他们用同一根创建了多个工作区,在这种情况下,他们会尽最大努力去除自己的膝盖骨。)
如果他们在当前工作区内切换了流,您可以使用诸如“p4 info”、“p4 client-o”或“p4 stream-o”之类的命令检测到这一点。您是说您的编辑器会自动签出文件吗?这很常见,所以你不是一个人。请问是哪位编辑 你知道你的编辑是怎么跟Perforce说话的吗?我是否认为它发出
p4.exe
(cmdline工具)命令,例如p4 edit
?(另一种方法是使用P4 API之一,例如p4java或p4python。)如果是,则P4 edit
命令已经不符合P4V工作区设置。p4.exe
cmdline工具将使用中指定的p4工作区。要始终使用正确的客户端
- 在每个工作区的根目录中有一个
文件,指定P4CONFIG
P4CLIENT=[client name]
- 更改编辑器的p4集成,使
命令始终在给定工作区内有效运行(在CWD的意义上);您可以使用p4 edit
开关进行此操作,例如,当签出-d
时,您可以调用C:\workspaces\wksp1\foo\bar\baz.C
p4-d C:\workspaces\wksp1\foo\bar edit C:\workspaces\wksp1\foo\bar\baz.C
p4.exe
(cmdline客户端)。你在用P4V吗?或者你正在为一个“糟糕”的Unity-P4插件而挣扎?或者您正在编写自己的自动化程序?这主要是针对有人希望从main切换到他们的开发流或在发布流中进行修复的情况。我发现,像p4 info这样的命令不会拾取当前工作区,除非您在命令行上手动设置客户端规范,这将使检测开关的点无效。只要您已经知道工作区,就可以从p4 info
获取当前流,但是如果你不知道工作区,你就不走运了。理想情况下,您可以在每个工作区根目录中设置P4CONFIG
文件(这对于CLI用户来说是非常标准的做法,因为它使一切都变得简单)。如果您正在编写一个在P4V之外执行的工具,但它希望尝试了解如何设置工作区,则可以查询服务器上绑定到当前主机的工作区,然后检查它们的根,以查看您所在的工作区。