强制"p4 edit"在库中打开文件



Im使用p4v。当我在工作区中签出某个文件时,p4v在日志中显示下一个命令:p4编辑-c默认d:\p4\deport。。。\file.txt

我需要在cmd中做同样的事情所有环境变量设置为:

P4CHARSET=utf8 (set -s)
P4CLIENT=workspace_name (set)
P4PASSWD=passwd (set)
P4PORT=port (set)
P4USER=name (set)

然后我使用相同的命令"p4edit-c默认d:\p4\deport…\file.txt",p4输出如下://仓库//file.txt#5-打开进行编辑如果我签入p4v,我会看到该文件是在仓库中签出的,而不是在我的工作区中。

这个问题的解决方案是什么?

Perforce中的文件在工作区和仓库之间映射,仓库和工作区路径可以互换使用。当使用"p4编辑"签出"文件时,会发生以下情况:

  1. 您的本地文件(d:\p4\deport…\file.txt)是可写的
  2. 仓库文件(//depart/…/file.txt#5)被标记为您正在打开
  3. Perforce服务器"记住"了这一切

也就是说,文件确实在您的工作区和仓库中"检出"了——这两者没有区别。这是同一个文件。如果您查看工作区文件,您应该会发现它现在是可写的(这是工作区中它已签出的信号)。从命令行中,您可以运行"p4-opened"来查看当前工作区中打开了哪些文件。如果您不确定仓库路径如何映射到单个文件的本地路径,您可以运行"p4 has"来查看工作区中给定仓库文件的位置以及它的版本。

当您提交时,服务器将知道仓库文件需要更新,并且它将知道新内容将来自您的工作区文件。如果仓库文件有新的修订版(比#5更新),服务器将安排解析,以便您可以在提交前合并新内容。

换句话说,不存在"在仓库中结账"而不是在工作空间中结账的情况。根据定义,"检出"的仓库文件是检出到特定工作空间的。

最新更新