使用 p4 软件仓库的 perforce 软件仓库未显示在客户端上
Posted
技术标签:
【中文标题】使用 p4 软件仓库的 perforce 软件仓库未显示在客户端上【英文标题】:perforce depot not showing up on client using p4 depots 【发布时间】:2020-09-07 10:53:27 【问题描述】:我最近使用doc 作为参考,将我的 perforce 服务器从在 Windows 上运行的旧版本迁移到了 Linux 中的新服务器。
如果我在运行服务器的机器上运行p4 depots
重新启动服务器后,我会得到以下输出
Depot depot 2017/06/05 local depot/... 'Default depot'
Depot spec 2020/05/20 spec .p4s spec/... 'Created by super. '
Depot streamsDepot 2017/06/05 stream 1 streamsDepot/... 'Created by perforce. '
Depot unload 2020/05/20 unload unload/... 'Created by super. '
但是当我从连接到服务器的另一台机器上运行相同的 p4 depots
命令时,我只能得到三个仓库
Depot depot 2020/05/20 local depot/... 'Default depot'
Depot spec 2020/05/20 spec .p4s spec/... 'Created by super. '
Depot unload 2020/05/20 unload unload/... 'Created by super. '
这些也是从 p4v 可见的相同仓库。即使在点击“获取最新”后,我仍然会看到这 3 个仓库。我也尝试过p4 sync
,但再次出现错误
//streamsDepot/... - must refer to client 'My-Client-Machine'.
另外,我在p4 depots
文档上没有看到任何为我解决问题的内容。这是预期的行为吗?
【问题讨论】:
【参考方案1】:您可能会看到来自两台不同客户端计算机的p4 depots
命令的不同结果的三个原因(请注意,当您“在服务器上”运行命令时,您仍在使用客户端,而客户端恰好在服务器机器):
-
您正在连接到两个不同的服务器。
您有两组不同的权限。 (您无权访问的仓库被隐藏。)
(流 depot 的特殊例外)您有一个非常旧的客户端可执行文件,并且服务器隐藏了您的客户端可能无法解析的 depot 类型。
p4 info
主要是让你排除这两种情况。如果您连接到不同的服务器,您将看到不同的 Server address
和/或 Server root
值。
如果您的User name
不同,则可能解释了权限问题;如果不是,请检查保护表以了解基于 IP 的限制。 p4 protects
在这里可能有用。
您可以通过p4 -V
查看客户端可执行版本。
【讨论】:
我可以确认服务器和用户是一样的。 p4 保护和权限也都是默认设置。是否仍然期望有任何默认的 IP 限制?我系统上的 p4 -V 显示它是 2019.2 第二台机器上的p4 protects
是否显示您可以访问//streamsDepot/...
?
没关系——它们甚至不是同一个服务器。 depot
上的时间戳不同是一个致命的赠品。差点把我骗了! :D
这是我的一个愚蠢的错误,感谢您指出这一点
这几乎总是最简单的事情,在帮助其他人调试时,您仍然必须反复检查,因为他们会告诉您他们在没有实际操作的情况下进行了双重检查。 ;) 我当然也为此感到内疚。以上是关于使用 p4 软件仓库的 perforce 软件仓库未显示在客户端上的主要内容,如果未能解决你的问题,请参考以下文章
Perforce unicode问题:使用非ascii字符的同步文件会导致截断
Perforce(AWZ 服务器 Lightsail Windows 实例) - 虚幻引擎源代码控制 - 移动 Perforce 仓库