我正在使用p4v。当我签出工作区中的某个文件时,p4v会在日志中显示下一个命令: p4编辑-c默认d:\ p4 \ depot ... \ file.txt
我需要在cmd中做同样的事情 所有环境变量都设置为:
P4CHARSET=utf8 (set -s)
P4CLIENT=workspace_name (set)
P4PASSWD=passwd (set)
P4PORT=port (set)
P4USER=name (set)
然后我使用相同的命令“p4 edit -c default d:\ p4 \ depot ... \ file.txt”,p4输出: //depot/.../file.txt#5 - 打开进行编辑 如果我签入p4v,我会看到该文件已在软件仓库中检出,而不是在我的工作区中。
这个问题的解决方案是什么?
答案 0 :(得分:2)
Perforce中的文件映射在工作空间和库之间,而库和工作空间路径可以互换使用。当文件被"签出"使用" p4编辑",会发生以下情况:
也就是说,文件确实已经检出"在您的工作空间和仓库中 - 两者之间没有区别。它是同一个文件。如果查看工作区文件,您应该会看到它现在是可写的(这是您工作区中已签出的信号)。从命令行运行" p4 open"查看当前工作空间中打开的文件。如果您不确定软件仓库路径如何映射到单个文件的本地路径,则可以运行" p4 has"查看工作区中有给定的depot文件的位置以及它的版本。
当您提交时,服务器将知道需要更新软件仓库文件,并且它将知道新内容将来自您的工作区文件。如果存储库文件的新版本(比#5更新),服务器将安排解析,以便您可以在提交之前合并新内容。
换句话说,就没有在仓库中检查出来的东西"但不是在工作区。一个"检出的仓库文件"根据定义,检查到特定的工作区。