与git-p4同步时丢失文件的问题

时间:2010-02-17 23:13:17

标签: git version-control perforce

我在使用git-p4时遇到了一个反复出现的问题。在与git-p4 clone //depot/project/main同步时,大多数文件都会被同步,但是有很多例外,我找不到明显的共同点。我创建了一个单独的Perforce工作区以与git-p4一起使用,并将属性git-p4.client全局设置为此工作区,并将git-p4.useclientspec设置为true。

在Perforce服务器上,我们按如下方式对项目进行版本化修改:

  

//仓库/项目/主
  //depot/project/1.0.0
  //depot/project/1.1.0

调用p4 info为Perforce安装提供以下版本信息。摘要:它已经过时了。

  

服务器版本:P4D / NTX86 / 2006.2 / 113956(2007/01/04)

任何人都可以提供调试此问题的线索或建议有关支持哪些版本的Perforce的文档吗?

感谢帮助。

4 个答案:

答案 0 :(得分:1)

如果你有一个直接的perforce工作区,那么p4 info会告诉你服务器的版本是什么。

答案 1 :(得分:1)

请参阅此GitHub repo中的提交,了解我必须对git-p4进行修复以使用旧版本的p4。

不幸的是,我不记得我改变的细节。一目了然,它似乎只影响git-p4 submit

答案 2 :(得分:0)

我有一个类似的问题 - 一些文件没有明显的原因没有加载 - 虽然我认为我的部分同步是由加载文件的重写路径中断,然后是强制同步。我的问题通过从头开始刷新我的本地存储库来解决...它需要很长一段时间但工作正常。

答案 3 :(得分:0)

因为我们的Perforce服务器在Linux上运行,文件名区分大小写。任何后续的CL也会区分大小写。 git-p4在Perforce上以本地文件系统的历史顺序收集和应用更改列表。

当我从一个区分大小写的P4存储库启动我的Windows机器上的git-p4.py时,我进行了一项更改,删除了一个重复的文件(仅限大写字母),它实际上删除了原始文件,因为Windows没有区分它,Python不知道这个问题。

简单的解决方案是从Linux框开始转换,这使它工作正常。