Mik*_*ike 1 version-control perforce
假设我在P4中有文件foo.c的版本,树的顶部是foo.c#8。
由于某种原因,我想将foo.c#4移为foo.c#9(实际上是将版本4移到树的顶部)。
一种方法是手动进行(同步版本4,进行复制,然后同步到树顶,编辑并复制4,然后重新提交)。
有没有更优雅的方式将foo.c#4推到树的顶部?
听起来您想撤消#5至#head的修订:
p4 undo foo.c#5,#head
p4 submit
Run Code Online (Sandbox Code Playgroud)
或者,如果您愿意,则要撤消所有高于#4的修订:
p4 undo "foo.c#>4"
p4 submit
Run Code Online (Sandbox Code Playgroud)
或者,即使您存在更高的修订版,如果您只是想撤消#5至#8,也可以:
p4 undo foo.c#5,#8
p4 submit
Run Code Online (Sandbox Code Playgroud)
如果有更高版本,则最后一个变体将需要一个sync/ resolve冲突解决步骤(因此您可以在更高版本中合并,而忽略#5至#8)。
如果您使用的服务器版本已经使用了几年以上,则可以尝试p4 copy:
p4 copy foo.c#4 foo.c
p4 submit
Run Code Online (Sandbox Code Playgroud)
如果您使用的服务器版本早于该版本,则这是通过常规old进行操作的最优雅的方法p4 sync:
p4 sync foo.c#4
p4 edit foo.c
p4 sync foo.c#head
p4 resolve -ay
p4 submit
Run Code Online (Sandbox Code Playgroud)
请注意,类似undo例子,在做的时候,你可以选择sync foo.c#head到sync和resolve -ay中间版本,然后sync和resolve -am更高版本,如果你想建立一个修订版,同时保持后来的“撤销”的某些变化。
这是一种处理方法p4 print(简单情况下的命令较少,但IMO不太优雅,因为它无法扩展到更复杂的用例):
p4 edit foo.c
p4 print -o foo.c foo.c#4
p4 submit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32 次 |
| 最近记录: |