Perforce 性能:创建当前挂起列表的本地备份

Perforce 性能:创建当前挂起列表的本地备份,perforce,Perforce,在perforce中,我有一个挂起的列表,其中包含一些已更改的文件。现在我想恢复到基础,但不丢失我的更改,所以我想在某个地方备份它们。比如保存每个文件的差异。稍后,我希望恢复这些更改并继续我的工作 这可能吗?如果是,怎么做 谢谢 你应该可以做一个架子。这是一种保存变更列表以备将来编辑的方法。下面的链接是一个用于Perforce的Python插件,它实现了shelve。另外,我知道Practical Performance有几种方法可以在不使用外部脚本的情况下搁置当前的更改。我没有这本书在我面前,

在perforce中,我有一个挂起的列表,其中包含一些已更改的文件。现在我想恢复到基础,但不丢失我的更改,所以我想在某个地方备份它们。比如保存每个文件的差异。稍后,我希望恢复这些更改并继续我的工作

这可能吗?如果是,怎么做


谢谢

你应该可以做一个架子。这是一种保存变更列表以备将来编辑的方法。下面的链接是一个用于Perforce的Python插件,它实现了shelve。另外,我知道Practical Performance有几种方法可以在不使用外部脚本的情况下搁置当前的更改。我没有这本书在我面前,但我会尝试今晚更新这个问题,当我有


从P4Shelve链接到,它看起来非常有用,在客户端执行操作,而不是在服务器上分支


当然,我很快也会考虑做类似的事情。

假设您在unix机器上(或者在Windows下有一个正确的cygwin设置,还没有测试过)。唯一需要注意的是,Performce的
p4 diff
生成的输出与
补丁
稍微不兼容,因此,您需要它指向unix diff命令。在客户端根目录中,您可以执行以下操作

P4DIFF=/usr/bin/diff p4 diff -du > pending-changes.patch
可选(如果要从命令行还原打开的文件,则使用p4v):

稍后,您将打开文件进行编辑(可以通过从patchfile
挂起的更改中提取受影响的文件进行自动编辑。patch
,然后:

patch < pending-patches
patch<挂起的修补程序
根据客户端根目录中的路径布局,您必须使用补丁的
-p#num
选项来干净地应用补丁。

  • 在适当的位置创建这些文件的分支
  • 签出已编辑文件的分支版本
  • 从主干复制编辑过的文件并提交
  • 恢复主干上的文件
现在,您已经获得了希望安全存档的“差异”。当您准备稍后应用这些更改时,只需将它们重新集成到主干中即可


这就是Python脚本所做的。这是一种不用任何特殊工具手动执行的方法。

另请参见此问题:


基本上是一样的。

你有机会看那本书吗?谢谢你的提醒。不幸的是,我离开那里时,我的书似乎被前雇主留下了。不过,下面的谷歌图书预览中列出了这两种方式。看起来,一个稀疏的分支是获取原始海报的方式。
patch < pending-patches