Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git p4同步更改列表间隔_Git_Perforce_Git P4 - Fatal编程技术网

git p4同步更改列表间隔

git p4同步更改列表间隔,git,perforce,git-p4,Git,Perforce,Git P4,我的目标是使用变更列表的间隔从p4同步存储库,以便将存储库的第一个变更列表版本视为初始提交。 因此,我使用了以下命令: git p4 clone //path-to-project@cl1,cl2 其中cl1和cl2是所述变更列表的编号 当它完成时,在cl1之前创建的文件不在头中 在我看来,问题在于,在同步给定范围内的更改之前,p4任务不会同步到repo的cl1版本,而是将提交应用到空存储库 这是一个bug还是我对git p4应该如何工作的误解?我应该如何正确地做到这一点 UPD:我需要变更列

我的目标是使用变更列表的间隔从p4同步存储库,以便将存储库的第一个变更列表版本视为初始提交。 因此,我使用了以下命令:

git p4 clone //path-to-project@cl1,cl2
其中
cl1
cl2
是所述变更列表的编号

当它完成时,在
cl1
之前创建的文件不在
头中

在我看来,问题在于,在同步给定范围内的更改之前,p4任务不会同步到repo的
cl1
版本,而是将提交应用到空存储库

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


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

我认为,除了特殊的导入只是head-revision默认选项之外,@cl1、cl2选项只导入变更列表,而不是那些变更列表中存储库的状态


我想你必须尽一切努力才能得到完整的历史。或者更改git-p4以执行您想要的操作。

我认为,除了特殊的导入只是head-revision默认选项之外,@cl1、cl2选项只导入变更列表,而不是这些变更列表中存储库的状态

我想你必须尽一切努力才能得到完整的历史。或者改变git-p4来做你想做的事情

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

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

git p4 clone //path-to-project@cl1
它本身应该做你想做的事

不清楚您为什么尝试使用修订范围(
cl1,cl2
),因为您的问题描述根本没有提到
cl2

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

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

git p4 clone //path-to-project@cl1
它本身应该做你想做的事


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

我还需要我的存储库中从
cl1
cl2
的所有历史记录,我认为这是显而易见的。p4数据库有问题,我无法在过去的一点之前签出变更列表。我想用所有可访问的历史记录迁移到git。@goto1134您仍然不清楚。您的意思是,您不能签出
cl1
之前的更改,但从performe客户端同步到
cl1
是有效的吗?如果是这样,那么我给出的指令应该仍然有效。您可以将git存储库从
cl1
克隆为单个提交,然后执行
gitp4 sync@cl2
。(你为什么关心
cl2
而不能只同步到performe
)是的,你的假设是对的,我可以签出
cl1
,不能签出
cl1-1
。是的,我需要同步到
HEAD
,但我试图描述一种一般情况,在这种情况下,它可能只是另一个变更列表。@goto1134好的,那么我的答案对您是否有效,如果不有效,为什么不呢?当我执行
git p4 sync
时,它不起作用,由于git无法将提交应用于当前版本,我还需要从我的存储库中的
cl1
cl2
的所有历史记录,我认为这是显而易见的。p4数据库有问题,我无法在过去的一点之前签出变更列表。我想用所有可访问的历史记录迁移到git。@goto1134您仍然不清楚。您的意思是,您不能签出
cl1
之前的更改,但从performe客户端同步到
cl1
是有效的吗?如果是这样,那么我给出的指令应该仍然有效。您可以将git存储库从
cl1
克隆为单个提交,然后执行
gitp4 sync@cl2
。(你为什么关心
cl2
而不能只同步到performe
)是的,你的假设是对的,我可以签出
cl1
,不能签出
cl1-1
。是的,我需要同步到
HEAD
,但我试图描述一种一般情况,在这种情况下,它可能只是另一个变更列表。@goto1134好的,那么我的答案对您是否有效,如果不有效,为什么不呢?当我执行
git p4 sync
时,它不起作用,因为git无法将提交应用到当前版本