Git-p4提交错误:没有要提交的文件



当使用git-p4命令将git更改提交给performce时,我收到一个错误,说"没有文件要提交"。我使用--prepare-p4-only开关,发现git准备了一个没有受影响文件的提交,但更改后的文件在performce客户端工作区中被签出,差异也附在准备好的提交详细信息中。我直接使用performce客户端提交了一个文件,它运行良好。没有性能许可问题。

那么,根本原因是什么呢?

谨致问候,

我发现了根本原因:git-p4在多仓库路径支持方面有错误/未完成的工作。总之,您可以在克隆、同步和重新基准期间引入多个仓库路径,但提交功能只处理一个仓库路径。Werid。。。。。。

例如,如果您使用以下命令创建git存储库:

git-p4 clone --use-client-spec //Depot/path/a //Depot/path/b gitrepo

Git-p4将在Git日志消息中维护这两个仓库路径,并利用它们进行即将到来的同步和重新基准操作。

但是,当您想使用git-p4提交将git更改提交回Perforce时,它只会处理//Depot/path/a,而完全忽略//Depot/path/b。我的情况是这样的,由于我的git存储库中的一个更改要提交到//Depot/path/b,它在提交阶段总是失败,因为git-p4认为Depot路径不在范围内,并且在准备更改列表描述时会忽略文件修改,因此Perforce抱怨没有文件要提交。

我在git-p4脚本中做了一个小改动来解决这个问题,稍后会尝试将这个补丁sumbit到git

最新更新