Perforce:修复损坏的历史记录

时间:2019-03-29 19:22:44

标签: perforce history

我有一组文件,有人想要集成,但是偶然地只是“添加”,丢失了所有历史记录。

不幸的是,这是很久以前发生的,因此诸如timelapse视图和历史记录之类的事情在该副本处结束。

有没有办法解决这个错误?我可以以某种方式告诉Perforce“此更改实际上是此更改列表中此文件的集成”吗?

1 个答案:

答案 0 :(得分:2)

追溯此操作的唯一方法是通过检查点黑客操作-您需要合成“来自” db.integed条记录的“添加”。

https://www.perforce.com/perforce/doc.current/schema/#db.integed

随着检查点黑客的入侵,这相对容易,因为您只需要添加到一个表(可以将现有记录的“ add”版本中的“ add from”记录挂起),但是您需要对Perforce的{{ 1}}命令和Perforce的数据模型。请注意,为了保持一致性,您既需要“从...添加”记录,又要“添加到”记录(其中一个与另一个相反)。

如果您不熟悉它,最简单的方法是启动测试服务器,通过执行以下操作创建“添加自”记录:

p4d -j*

然后获取一个检查点(echo asdf > foo p4 add foo p4 submit -d "add" p4 integ foo bar p4 add bar p4 submit -d "add from" )并查看检查点文件,尤其是p4d -jcdb.rev之间的关系。一切都非常简单,您可以应用相同的逻辑来为实际软件仓库中添加的文件合成db.integed记录(然后使用db.integed将被黑的日记应用于实际数据库)。