10

我在 Windows 上运行,使用 windows p4 客户端,并通过 Cygwin 安装 git。p4 客户端宣传它的语法如何跨平台和所有这些都是规则的,所以这应该是 hunky-dory。

所以当我去的时候git-p4 clone --verbose //depot/path/to/source,它列出了存储库中的所有文件,就好像它们被签出一样,然后死了说

例外:快速导入失败:警告:未更新 refs/remotes/p4/master(新提示 cd601b92da8625c90af05685e450e55b6d19c9e9 不包含 3a512c9408e3cbeef 94c78dfd7115f81e4a6fd0d)

并以一大块“git-fast-import statistics”结束。查看错误:新提示?嗯?什么需要包含它?

我剩下的是一个 .git 存储库,它有几个兆(比完整的源代码树要小得多)。有任何想法吗?

4

5 回答 5

3

我遇到过类似的问题,通常可以追溯到路径、分支名称等中的大小写。不确定 P4,但请确保您没有 Master 分支 - 它应该是 master。全面跟随同一个团。另外,避免目录和文件名中带有空格。许多以 git 为中心的工具不喜欢这样。Gitolite就是一个例子。它不允许存储库中有空间。

于 2010-10-31T20:39:00.657 回答
2

与接受的答案类似,我在尝试同步到表单中的 git 分支时遇到了同样的问题:

git p4 sync --branch=feature/f1 //depot/path/to/code

分支名称中的 / 似乎会导致相同的神秘快速导入失败警告。不幸的是 git-p4 似乎不支持标准的 git-flow 分支名称。

更改为这样的分支有效:

git p4 sync --branch=f1 //depot/path/to/code
于 2014-04-09T19:26:07.293 回答
2

我还遇到了运行快速导入的“新提示 x 不包含 y”错误。

就我而言,这是由我试图导入的 repo 的 master 分支中的一个不相关的预先存在的提交引起的。我已经使用 GitHub 客户端初始化了 repo,它添加了一个初始提交(添加一个 .gitignore 文件)。快速导入工具可能无法协调导入的提交与分支的当前状态,因为 GitHub 工具的提交与正在导入的提交没有关系。

我的解决方案是用“git init”初始化一个空的仓库,然后运行快速导入。

于 2015-11-17T22:47:54.623 回答
2

对于要导入的第一个 CL,您是否收到“忽略修订版 XYZ,因为它会产生空提交”?

如果是这样,您在 git-p4.py 中遇到了一个错误,它在实际提交任何内容之前清除了“initialParent”设置(这是必要的,以便 git fast-import 可以将新提交加入到先前的导入中)。因此,导入文件的新流与旧文件没有连接。

我目前正在通过使用 --changesfile 并明确确定需要导入哪些 CL 来解决此问题。

于 2016-10-05T14:10:53.187 回答
1

我有类似的问题。对我有用的是更新 git-p4 python 代码。你可以看看这里的提交,但希望它很快就会被拉出来。

于 2011-05-05T18:25:01.190 回答