git p4 clone没有文件

key*_*rdr 6 git perforce git-p4

我正在从Perforce迁移到git,在这个过程中我正在努力使文件结构正确.

目前的perforce结构是这样的:

//depot
    /android
        /main
        /other_branches
        /core_library
            /main
            /other_branches
Run Code Online (Sandbox Code Playgroud)

我在git中拍摄这样的东西:

/android
/core_library
Run Code Online (Sandbox Code Playgroud)

我设置了我的客户端规范View如下(我稍后会担心分支):

//depot/android/main/... //p4-git/android/...
//depot/android/core_library/main/... //p4-git/core_library/...
Run Code Online (Sandbox Code Playgroud)

我运行以下命令,显示完整的提交历史记录,但没有文件.

set P4CLIENT=p4-git
git p4 clone --use-client-spec //p4-git/@all
Run Code Online (Sandbox Code Playgroud)

ben*_*enj 1

问题出在这一行:

git p4 clone --use-client-spec //p4-git/@all
Run Code Online (Sandbox Code Playgroud)

这里您传递的是客户端路径 ( //p4-git),但 git-p4 需要一个仓库路径。当它稍后尝试将 Perforce 仓库路径映射到 Git 路径时,这会导致问题。尝试跑步

git p4 clone --use-client-spec //depot/android/main/@all
Run Code Online (Sandbox Code Playgroud)

反而。

请记住,如果您指定--use-client-spec,git-p4 将自动使用您的客户端规范,无论是哪一个。它还会记住这个选择并将其用于将来的 git-p4 命令。这可能是一个好主意:

  • 为 git-p4 工作创建专用客户端
  • 每当您使用 git-p4 时,请确保P4CLIENT设置为此客户端
  • 避免更改 git-p4 客户端的视图