有没有办法让同一个文件成为 perforce 中多个更改列表的一部分?我的意思是,从文件中的一组更改行中,一个子集将属于一个更改列表,而另一个子集将属于第二个更改列表。
额外问题:如果 perforce 不支持这一点,那么哪些源代码控制系统(如果有)支持?
有没有办法让同一个文件成为 perforce 中多个更改列表的一部分?我的意思是,从文件中的一组更改行中,一个子集将属于一个更改列表,而另一个子集将属于第二个更改列表。
额外问题:如果 perforce 不支持这一点,那么哪些源代码控制系统(如果有)支持?
要回答额外的问题:GIT允许每行更改列表。
对于这两个视图之间的比较,这个问题:GIT vs. Perforce-两个 VCS 将进入......一个将离开。
另一种无需分支的方法是创建额外的工作区(客户端)。除非您真的知道自己在做什么,否则请务必在每个工作区中设置不同的根目录。为了节省时间(和磁盘),不要费心在新工作区中同步整个仓库。
有时,我会有两个仓库副本(使用两个工作区);一个包含正在进行的工作,一个我保持不变。如果我需要对在我的 WIP 工作区中大量修改的文件进行快速更改,我可以使用“原始”工作区进行更改并提交它。
如果您使用的是 p4 server 2009.2,有一个解决方法可以做到这一点。您可以搁置特定文件,并将差异存储在服务器上。搁置后,您可能希望将文件恢复到其原始版本,然后在另一个更改列表中处理它。我知道这不是您想要的方式,但创建另一个工作区/客户端然后同步代码非常容易。当您有大量代码进入另一个应用程序时,后面的练习会变得更加乏味。
欲了解更多信息,请阅读:
相同的文件副本?不,不幸的是,这是不可能的。
您可以制作包含所有更改的文件副本、还原、编辑文件、将一组更改复制到文件中、提交、编辑、复制下一组更改、提交、编辑等...
奖励答案:我在 Rational Team Concert ( http://www-03.ibm.com/software/products/en/rtc/ ) 中找到了这个特性。您可以在许多变更集中拥有相同的文件。如果要将 File1 添加到 Changeset1 和 Changeset2,则必须先完成 Changeset1。这允许您将文件 2 添加到 Changeset2,但随后会创建变更集之间的依赖关系,因此您不能在不交付 Changeset1 的情况下交付 Changeset2。此外,您不能对完整的变更集进行更改。