Git P4克隆没有文件。

6

我正在从Perforce迁移到git,并在此过程中尝试正确地获取文件结构。

当前的Perforce结构类似于:

//depot
    /android
        /main
        /other_branches
        /core_library
            /main
            /other_branches

我希望在git中实现类似以下内容:

/android
/core_library

我设置了客户端规范视图,如下所示(稍后再考虑分支):
//depot/android/main/... //p4-git/android/...
//depot/android/core_library/main/... //p4-git/core_library/...

当我运行以下命令时,会出现完整的提交历史记录,但没有文件。
set P4CLIENT=p4-git
git p4 clone --use-client-spec //p4-git/@all

如果您在问题中包含客户端规范,可能会很有用。 - Douglas Leeder
如果我使用git p4 clone //depot/android/main@all命令,所有的内容都会按预期显示,只是文件结构不符合我的要求。 - keyboardr
同样。对我来说,好像根本没有使用“--use-client-spec”。 - jozxyqk
1个回答

1
这个问题在这一行中:


git p4 clone --use-client-spec //p4-git/@all

在这里你正在传递一个客户端路径(//p4-git),但是git-p4希望得到一个depot路径。当它尝试将Perforce depot路径映射到Git路径时,这会导致后续出现问题。尝试运行以下命令:

git p4 clone --use-client-spec //depot/android/main/@all

请记住,如果您指定了--use-client-spec,git-p4将自动使用您的客户端规范,无论是哪个。它还会记住这个选择,并将其用于未来的git-p4命令。这可能是一个好主意:
  • 为git-p4工作创建一个专用客户端
  • 确保每当您使用git-p4时,P4CLIENT都设置为此客户端
  • 避免更改git-p4客户端的视图

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接