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

问题描述 投票:0回答:5

我经常遇到 git-p4 的问题。在与

git-p4 clone //depot/project/main
同步时,大多数文件都会同步,但有许多例外情况,我找不到明显的共同点。我创建了一个单独的 Perforce 工作区以与 git-p4 一起使用,并将属性
git-p4.client
全局设置为该工作区,并将
git-p4.useclientspec
设置为 true。

在 Perforce 服务器上,我们对项目进行版本控制如下:

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

调用

p4 info
会提供 Perforce 安装的以下版本信息。总结:老了。

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

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

感谢您的帮助。

git version-control perforce
5个回答
1
投票

如果您有直接的 perforce 工作区,那么

p4 info
会告诉您服务器的版本是什么。


1
投票

请参阅我在此 GitHub 存储库 中的提交,了解我必须对 git-p4 进行的修复才能使用旧版本的 p4。

不幸的是我不记得更改的细节。乍一看,它似乎只影响

git-p4 submit


0
投票

我有一个类似的问题 - 有些文件没有明显的原因没有加载 - 尽管我相信我的问题是由要加载的文件的覆盖路径中断的部分同步引起的,然后是强制同步。我的问题是通过从头开始刷新我的本地存储库来解决的......这需要大量时间,但工作正常。


0
投票

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

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

简单的解决方案是从 Linux 盒子开始转换,这使得它工作得很好。


0
投票

我有时遇到类似的问题,我注意到,如果文件或目录在某个时刻被重命名,例如project/main,而后者被重命名为Project/main,克隆将不会包含后面的一个,因为您只同步小写的路径

© www.soinside.com 2019 - 2024. All rights reserved.