我最近使用本文档作为参考,将我的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
文档中没有看到任何为我解决问题的内容。这是预期的行为吗?
有三个原因可能会从来自两台不同客户端计算机的p4 depots
命令中看到不同的结果(请注意,当您"在服务器上"运行命令时,您仍在使用客户端,客户端恰好在服务器计算机上(:
- 您正在连接到两个不同的服务器。
- 您有两组不同的权限。 (您无权访问的仓库是隐藏的。
- (流库的特殊例外( 您有一个非常旧的客户端可执行文件,并且服务器隐藏了客户端可能无法分析的库类型。
p4 info
主要会让你排除这两种情况。 如果要连接到不同的服务器,则会看到不同的Server address
和/或Server root
值。
如果您的User name
不同,这可能解释了权限问题;如果不是,请检查保护表中是否有基于 IP 的限制。p4 protects
在这里可能有用。
您可以使用p4 -V
检查客户端可执行版本。