Version control 使用p4 zip和解压将文件从一个perforce服务器导出到另一个perforce服务器

Version control 使用p4 zip和解压将文件从一个perforce服务器导出到另一个perforce服务器,version-control,perforce,dvcs,perforce-client-spec,p4java,Version Control,Perforce,Dvcs,Perforce Client Spec,P4java,我试图将2015.2至2019年perforce server期间的文件及其修订历史导出到我的depot文件夹中。此外,我希望perforce在我的新服务器上创建新用户,对应于我原始2015年repo上的提交人/提交人 对于我当前的任务来说,Perforce replicate看起来有些过头了,然后我在Perforce上看到了这篇文章,其中提到了P4 zip 这看起来可以解决我的问题,但是这篇文章有一些我不理解的问题 假设我正在从server1_ip:端口-->server2_ip:端口移动数据

我试图将2015.2至2019年perforce server期间的文件及其修订历史导出到我的depot文件夹中。此外,我希望perforce在我的新服务器上创建新用户,对应于我原始2015年repo上的提交人/提交人

对于我当前的任务来说,Perforce replicate看起来有些过头了,然后我在Perforce上看到了这篇文章,其中提到了P4 zip

这看起来可以解决我的问题,但是这篇文章有一些我不理解的问题

假设我正在从server1_ip:端口-->server2_ip:端口移动数据

我目前正在遵循这些步骤

  • 使用创建要复制的文件夹的zip

    • p4 remote my_remote_spec
      ,设置
    • 地址:服务器1\u ip:端口
    • DepotMap://depot///depot2/…
  • p4-p server1\u ip:port zip-o test.zip-r my\u remote\u spec-A//depot/…
    。但在这一步中,我得到了拒绝许可的错误。这对我来说很奇怪,因为用户虽然不是超级管理员,但可以访问我要求压缩的文件

  • 另外,当我尝试使用超级用户时,我找不到test.zip,即使没有提示任何错误

  • 上面的命令不是应该在我运行它的目录中生成一个zip文件吗
  • 解压命令应该在第二台服务器的用户进行p4登录后运行吗
  • 最后,从文档中可以看出,为什么第三个端口是1666和1777上运行的服务器文件传输中提到的1667
  • 在这一步中,我得到了“权限被拒绝”错误。这对我来说很奇怪,因为用户虽然不是超级管理员,但可以访问我要求压缩的文件

    预计:

    C:\Perforce\test>p4 help zip
    
        zip -- Package a set of files and their history for use by p4 unzip
    
        ...
    
            The zip command requires super permission granted by p4 protect.
    
    上面的命令不是应该在我运行它的目录中生成一个zip文件吗

    p4 admin checkpoint
    类似,zip文件被写入服务器计算机(如果未指定绝对路径,则相对于服务器根),而不是传输到本地客户端目录。文档中没有明确说明这一点(这似乎是一个疏忽),但是如果您查看运行zip的服务器的根目录,您应该会在那里找到您的
    test.zip

    解压命令应该在第二台服务器的用户进行p4登录后运行吗

    是的,任何时候对特定服务器运行命令时,都需要登录到该服务器。在
    p4解压
    的情况下,您至少需要第二台服务器上的
    admin
    权限

    最后,从文档中可以看出,为什么第三个端口是1666和1777上运行的服务器文件传输中提到的1667


    我敢肯定那是个打字错误;写这篇文章的人开始使用1666和1777端口,中途改变了主意,没有校对。:)

    谢谢,这很有帮助。一个小问题是,这两台服务器位于不同的机器上,因此在第二台服务器上解压之前,我应该将test.zip放在第二台服务器的根目录中吗?另外,要明确的是,在上面的答案中,通过服务器的根,您的意思是P4ROOT?对上面所有的答案都是肯定的!这一切都进行得很顺利,在解压时,我收到以下消息提示:
    无法导入“//depot/path/to/a/file/in/depot.java”,因为它位于未知的仓库中
    。由于解压操作是在一个新的/空的服务器上进行的,我还创建了“//depot/path/to/a/file/in/depot/”类型的空目录,但是这个错误仍然存在。您可能需要运行
    p4 depot-depot-depot
    来创建
    depot
    depot?我的目标是,如果目录/depot最初不存在,那么它们就会被创建。