Perforce 保留文件状态并继续使用它的选项

Perforce 保留文件状态并继续使用它的选项,perforce,Perforce,假设我对一堆文件做了一些更改,并发送了更改列表以供审阅。审查可能需要24小时。在这段时间内,我可能需要编辑变更列表中的一些文件,但当审查结束时,我需要能够返回到批准的变更列表中的文件版本。在Perforce中,我目前有哪些选项可以做到这一点 我想到的一个选项是将文件隐藏起来,然后在需要时恢复,但这样我将丢失在隐藏版本上所做的更改 我读过关于使用任务流的文章,它能帮助我处理这种情况吗?我假设文件已经被搁置在变更列表中以供审查(而不是通过电子邮件发送或使用其他审查机制)。如果是这样,我会将打开的文件

假设我对一堆文件做了一些更改,并发送了更改列表以供审阅。审查可能需要24小时。在这段时间内,我可能需要编辑变更列表中的一些文件,但当审查结束时,我需要能够返回到批准的变更列表中的文件版本。在Perforce中,我目前有哪些选项可以做到这一点

我想到的一个选项是将文件隐藏起来,然后在需要时恢复,但这样我将丢失在隐藏版本上所做的更改


我读过关于使用任务流的文章,它能帮助我处理这种情况吗?

我假设文件已经被搁置在变更列表中以供审查(而不是通过电子邮件发送或使用其他审查机制)。如果是这样,我会将打开的文件移动到另一个变更列表:

p4 change
p4 reopen -c (new change) (files)
p4 shelve -c (new change)
并继续努力。文件的搁置版本将保留在旧更改列表中

如果需要返回旧的变更列表,请搁置新的变更列表:

p4 change
p4 reopen -c (new change) (files)
p4 shelve -c (new change)
然后还原打开的文件(它们现在应该在新的搁置的变更列表中是安全的),并取消搁置旧的变更列表以从该点开始继续工作:

p4 revert (files)
p4 unshelve -s (old change)

您可以在这方面做很多变化,例如恢复并从头开始,而不是在当前正在审查的更改之上构建新的更改。如果这样做,以后需要合并更改,但Perforce将自动跟踪所有更改,并在需要时提示您(只要您使用Perforce命令进行同步/恢复/取消搁置等操作——如果您开始制作自己的备份并手动还原它们,所有赌注都将被取消,因为Perforce不再知道您的编辑基于什么,也无法智能地指导您完成合并过程).

我假设文件已被搁置在变更列表中以供审查(而不是通过电子邮件发送或使用其他审查机制)。如果是这样,我会将打开的文件移动到另一个变更列表:

p4 change
p4 reopen -c (new change) (files)
p4 shelve -c (new change)
并继续处理。文件的搁置版本将保留在旧更改列表中

如果需要返回旧的变更列表,请搁置新的变更列表:

p4 change
p4 reopen -c (new change) (files)
p4 shelve -c (new change)
然后还原打开的文件(它们现在应该在新的搁置的变更列表中是安全的),并取消搁置旧的变更列表以从该点开始继续工作:

p4 revert (files)
p4 unshelve -s (old change)

您可以在这方面做很多变化,例如恢复并从头开始,而不是在当前正在审查的更改之上构建新的更改。如果这样做,您以后需要合并更改,但Performce将自动跟踪所有这些更改,并在适当时提示您(只要您使用Perforce命令进行同步/恢复/取消搁置等操作——如果您开始制作自己的备份并手动还原它们,所有赌注都将被取消,因为Perforce不再知道您的编辑基于什么,也无法智能地指导您完成合并过程).

谢谢,你知道任务流在这里是否有一些好处吗?我试图在gitTask streams中找到一些类似于本地分支的东西,如果你需要从正在处理的流中分离出一系列连续的更改,那么这些更改将非常有用;从你的描述中,听起来我们只是在讨论单个独立的任务流删除更改,使其成为托架(而不是在分支中进行版本控制)就足够了,但任务流是在共享服务器上对其进行版本设置的方法。当然,您也可以使用“p4克隆”克隆本地/个人服务器然后在推回到共享服务器之前在那里创建本地流。谢谢,你知道任务流在这里是否有一些好处吗?我正在尝试在gitTask streams中找到类似于本地分支的东西,如果你有一系列连续的更改需要从你正在处理的流中分离出来,从你的de脚本听起来我们只讨论单个独立的更改,因此将它们作为托架(而不是在分支中进行版本控制)就足够了,但任务流是在共享服务器上对其进行版本设置的方法。当然,您也可以使用“p4克隆”克隆本地/个人服务器并在推回到共享服务器之前在那里创建本地流。