Perforce:在多个挂起的更改列表中保留同一文件的更改?

时间:2012-05-27 21:12:09

标签: git version-control perforce

最近我必须使用perforce,并遇到一些我从未在git中遇到过的问题。当我使用git时,我会在推送到遥控器之前进行与功能更改相对应的提交。我可能稍后压制一些提交并推送,因为上游可能需要一整套功能单元。

但是,在使用perforce时,似乎无法实现上述目标。似乎文件只能存在于挂起的更改列表中,而我希望在提交之前将更改存储在多个挂起的更改列表中。例如,我想在一个文件中将函数A,B,C转换为git中的三个提交。在perforce中,除非我提交包含A的更改列表,然后提交包含B的更改列表,然后是C.

,否则我无法找到方法。

我的问题似乎与this one相似,但已经两年了,我想知道是否有新的或更好的方法来做这件事。

更新:Perforce网站称p4sandbox提供类似于git的离线工作。我可以用它来实现我的目标吗?

2 个答案:

答案 0 :(得分:0)

Sandbox绝对不错。我自己,我用这个架子。我将每组相关的更改保存在一个架子上,我可以独立地使用每个架子。

答案 1 :(得分:0)

如果我正确理解您的工作流程,您希望对同一文件进行多次顺序更改,但只将所有更改的最终结果推送到主代码库?对我来说,这听起来像Perforce中的分支。在我工作的地方,我们在仓库中指定了这些分支机构的位置。沙箱可能会对它们进行部分或不完整的更改,但需要了解它(尚未)属于主代码。然后,在开发完成后,结果将从分支集成回主代码。

唯一可能的缺点是所有文件及其更改也存储在中央服务器上,而不是存储在本地计算机上。根据您的观点,这可能是好的也可能是坏的。