3

我设置了我的 perforce 客户端,但在尝试从客户端根目录的子目录中简单地执行“p4 编辑 file.txt”时遇到问题,其中 file.txt 是该目录本地的签入文件。换句话说,如果我执行“p4 have”,我会在列表中看到“//depot/folder/file.txt#2 - /proj/folder/file.txt”。p4 同步似乎很好。但是,“p4 edit file.txt”会给出错误“文件不在客户端”。

我终于通过使用仓库名称获得了 p4 编辑工作。“p4 edit //depot/folder/file.txt”确实有效,奇怪的是它修改了本地文件以具有写权限。

知道问题是什么吗?通过引用本地文件名,我在同一系统上有其他客户端,它们可以按照您期望的方式工作。

4

2 回答 2

3

我在使用覆盖映射(客户端视图中带有前导加号的条目)时遇到过这样的问题。

通过更改客户端视图,我也遇到了类似的问题,但之后没有执行完整的“p4 同步”以重新排列我工作站上的所有文件以匹配更新的视图。

您是否有任何机会适合其中任何一种情况?

您是否尝试过运行“p4 where file.txt”和“p4 where //depot/folder/file.txt”?通常,该命令对于找出命令行上的文件名语法未成功解析为存储库文件名的原因非常有用。

于 2013-04-09T02:37:08.087 回答
1

我有一个类似的问题,我想在这里记录它,因为它是一个追查的虫子,谷歌搜索可能会导致有人在这里有同样的错误。

我有一个分支,我们称之为//depot/foo,我创建了另一个分支来生成一个变体,称之为//depot/foo_bar。从 foo 分支 foo_bar 的步骤,其中:

  p4 branch foo_bar

要创建分支规范,然后

  p4 integrate -b foo_bar
  p4 submit

我还将 foo_bar 添加到我的客户端工作区。

在此之后,我可以编辑、访问 P4V 中 foo_bar 分支上的所有内容,但我用 p4 尝试的任何命令行命令都会出现错误“文件不在客户端”。

需要明确的是 - 在 P4V 中工作 - p4 命令行中的“不在客户端上的文件”。

原来,分支规范中有一个错误,我添加了一个额外的“。” 例如

  View:
    //depot/foo/... //depot/foo_bar/....

我尝试删除虚假的句号并重新整合。这导致命令行工作正常,但 P4V 具有分支中每个文件的两个副本,一个普通文件和一个带有“。”的文件名。在末尾。同样,需要明确的是,文件第一次看起来很正常 - 没有虚假的“。” 在文件名上,重新集成后 - 文件数量翻倍,但仅在 p4v depot 视图中 - 磁盘上工作区中的每个文件只有一个副本。

最后,我删除了分支并从头开始。

系统配置

  • 操作系统:Windows 7 64 位
  • P4服务器版本:P4D/LINUX26X86_64/2012.1/512349(2012/08/18)
  • P4V 版本:Rev. Perforce Visual Client/NTX64/2012.1/500245
  • P4 客户端版本:修订版 P4/NTX64/2012.1/490371 (2012/07/02)。
于 2014-01-13T16:04:09.503 回答