【问题标题】:Perforce "p4 edit" opens file in depotPerforce“p4 edit”在仓库中打开文件
【发布时间】:2014-11-19 07:49:20
【问题描述】:

我正在使用 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,我会看到该文件已在仓库中签出,而不是在我的工作区中。

这个问题有什么解决办法?

【问题讨论】:

  • 在命令窗口中运行命令后,您可能需要在 P4V 中使用“刷新”来使其窗口显示命令的结果。

标签: edit perforce depot


【解决方案1】:

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

  1. 您的本地文件 (d:\p4\depot...\file.txt) 可写。
  2. depot 文件 (//depot/.../file.txt#5) 标记为您正在打开。
  3. Perforce 服务器“记住”所有这些。

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

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

换句话说,没有“在仓库中签出”而不是在工作区中签出这样的事情。根据定义,“签出”的 depot 文件会签出到特定的工作区。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-07
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 2013-02-12
    相关资源
    最近更新 更多