我的任务是将整个PVCS存储库迁移到包含所有历史记录的git。我能做到这一点的唯一方法是运行PVCS VLOG命令将修订历史记录(对于所有文件)提取到文件,然后解析该文件(使用C#程序)以获取列表每个文件的修订版本。然后修订版本我从PVCS获取文件的给定修订版本,将文件添加到GIT并执行COMMIT。因此,对于每个~14,000个文件,我将为文件的每个版本提交一个提交(并且每个文件可以具有1-100 +版本)。我觉得这会有用吗?是否会有太多的提交使得回购太大而且不实用?
感谢您提供任何帮助!
答案 0 :(得分:1)
免责声明:我对PVCS并不熟悉。
但是,我已经处理了将CVS转换为Git的类似问题。有一个git命令cvsimport,它根据时间,提交者和消息对文件提交进行分组。如果有工具可以将PVCS转换为CVS或svn(也有Git的svn导入),那么只需转换两步。
否则,我建议修改你的程序如下:
显然,日期不应该完全匹配。对于什么被认为是同一个提交做出一些决定。此外,您可能希望允许类似的提交消息被视为相同的提交,例如,如果它们具有相同的错误跟踪编号。
考虑使用绕过索引的git fast-import
来加快处理速度。