Perforce 性能:修复损坏的历史记录

Perforce 性能:修复损坏的历史记录,perforce,history,Perforce,History,我有一组文件,有人打算集成,但意外地只是“添加”,这丢失了所有的历史记录 不幸的是,这是很久以前的事了,所以像“时间点视图”和“历史”这样的东西就在那个副本上结束了 有没有办法弥补这个错误?我是否可以告诉Perforce“此更改实际上是此更改列表中此文件的集成”追溯执行此操作的唯一方法是通过检查点黑客攻击——您需要合成“add from”db.integrated记录 随着检查点攻击的进行,这相对容易,因为您只需要添加到一个表中(可以将“add from”记录挂起到现有的“add”rev上),

我有一组文件,有人打算集成,但意外地只是“添加”,这丢失了所有的历史记录

不幸的是,这是很久以前的事了,所以像“时间点视图”和“历史”这样的东西就在那个副本上结束了


有没有办法弥补这个错误?我是否可以告诉Perforce“此更改实际上是此更改列表中此文件的集成”

追溯执行此操作的唯一方法是通过检查点黑客攻击——您需要合成“add from”
db.integrated
记录

随着检查点攻击的进行,这相对容易,因为您只需要添加到一个表中(可以将“add from”记录挂起到现有的“add”rev上),但是您需要非常熟悉Perforce的
p4d-j*
命令和Perforce的数据模型。注意,为了保持一致性,您需要“addfrom”和“addinto”记录(其中一个是另一个的倒数)

如果您完全不熟悉测试服务器,了解其工作原理的最简单方法是启动测试服务器,通过执行以下操作创建“add from”记录:

echo asdf > foo
p4 add foo
p4 submit -d "add"
p4 integ foo bar
p4 add bar
p4 submit -d "add from"
然后取一个检查点(
p4d-jc
),查看检查点文件,特别是
db.rev
db.integrated
之间的关系。这一切都非常简单,您可以应用相同的逻辑为您在真实仓库中添加的文件合成
db.integrated
记录(然后使用
p4d-jr
将您的黑客日志应用于实际数据库)