2017-06-04 48 views
1

我的目标是使用变更列表的时间间隔同步来自p4的存储库,以便将存储库的第一个更改列表版本视为初始提交。 所以我用下面的命令:git p4同步更改间隔

git p4 clone //[email protected],cl2 

其中cl1cl2都提到变更表中的数字。

完成后,在cl1之前创建的文件不在HEAD中。

正如我所看到的,问题是在同步给定范围内的更改之前,p4任务不会同步到cl1版本的回购,并将提交应用于空存储库。

这是一个错误或我对git p4应该如何工作的误解?我该如何正确地做到这一点?

UPD:我需要更改列表时间间隔的原因是p4数据库存在问题,并且我无法在过去的一个点之前签出更改列表。我想迁移到所有可访问历史的git。

回答

0

我认为,除了特殊导入只是头修订默认选项,@ cl1,cl2选项只导入更改列表,而不是更改列表中存储库的状态。

我认为你必须做@all来获得完整的历史。或者改变git-p4来做你想做的事。

0

我的目标是使用变更列表的时间间隔同步来自p4的存储库,以便存储库的第一个变更列表版本将被视为初始提交。

当您第一次使用git-p4克隆存储库时,您从克隆的更改已被视为初始提交。也就是,

git p4 clone //[email protected] 

本身应该做你想做的。

由于问题描述根本没有提及cl2,因此您不清楚为什么要尝试使用修订范围(cl1,cl2)。

+0

我还需要从我的存储库中'cl1'到'cl2'以来的所有历史记录,我认为这很明显。 p4数据库存在问题,我无法在过去的一点之前签出更改列表。我想迁移到所有可访问历史的git。 – goto1134

+0

@ goto1134你现在还不清楚。你的意思是你不能在'cl1'之前查看变化,但是从Perforce客户端同步到'cl1'可以工作吗?如果是这样,那么我给出的指示仍然应该起作用。你可以从'cl1'克隆git仓库作为一次提交,然后执行'git p4 sync @ cl2'。 (它仍然不是很明显,你为什么关心'cl2',并且不能只是同步到Perforce'HEAD'。) – jamesdlin

+0

是的,你的假设是正确的,我可以检查'cl1'并且不能检出' cl1 - 1'。 是的,我需要同步到'头',但我试图描述一个一般情况下,它可能只是另一个更改列表。 – goto1134