导入svn历史

我不得不清除我们的svn服务器,但在安装新的操作系统之前,我没有“转储”这些存储库。 但是,我对每个存储库中的每个文件都有一个完整的备份。 我已经把所有的旧文件都转回去了。 不幸的是版本历史已经完全消失了。 我仍然有所有旧的增量文件,svn可以看到每个修订与“validation”命令,但我想知道是否有可能从实际的文件(不是转储文件)直接导入旧的历史?

不幸的是,我不认为这些信息是存在的。 您可以尝试在旧日志消息中的string的.svn目录中运行一个grep文件(我假设这是文件的副本)。 如果你发现它们,我相信我们可以编写一个脚本来重新填充日志历史logging,但是文件版本历史肯定没有了。 我只是在我的身边,我也没有看到工作副本中保存的日志历史logging。

我认为最好的办法是build立一个空白的存储库,提交你所拥有的版本号。 这样任何引用修订号码仍然是有效的,他们将只是空白。

在这一点上,你最好从一个新的版本库开始 – 你可以试着插入一个假的版本到树中,但是它会使工作副本无效,并导致svn log / diff / etc的奇怪问题。 这样做比以一种聪明的方式尝试和一起按摩事情要安全得多。

如果您具有文件的所有历史版本,则可以编写一个脚本来基于旧版本的文件创build新的版本,以使旧版本具有旧版本,但是会丢失每个版本的所有其他元数据,例如date,作者和日志消息。