【发布时间】:2010-10-16 17:20:06
【问题描述】:
这是a previous question of mine的后续。
我可以查看 cvsps 的输出(保存在我的 ~/.cvsps 目录中)并查看一个主要的复杂提交的补丁集。但是当我执行 cvsimport 来更新我现有的 git 存储库时,这个提交并没有出现。我知道 git-cvsimport 会忽略 10 分钟以上的补丁集,以避免导入不完整的 CVS 提交。我想我也听说过它会跳过无法识别相关分支的补丁集。还有哪些其他原因可能导致 git-cvsimport 忽略我的提交?我该如何调试?
这里是 cvsps 输出的一点点:
patchset: 50064
date: 1238445635
author: skiphoppy
tag:
tag_flags: 0
branch: HEAD
branch_add: 1
descr:
My log message
-=-END CVSPS DESCR-=-
members:
file:ordinaryChangedFile; pre_rev:1.44; post_rev:1.45; dead:0; branch_point:0
file:newFileRenamedAndModifiedFromOldFile; pre_rev:INITIAL; post_rev:1.1; dead:0; branch_point:0
file:deletedFileGoneBecauseRenamed; pre_rev:1.2; post_rev:1.3; dead:1; branch_point:0
...
那个 branch_add: 1 行有什么关系吗?整个仓库中只有 9 个这样的提交;其他 50090 个提交说 branch_add: 0。除此之外,我不知道从 cvsps 或 git-cvsimport 的角度来看有什么区别。提交很复杂,涉及重命名多个文件并进行相关的内容修改。 CVS 绝对难以处理。当然是 git 的一个快照,但是当真正的后端是 CVS 时,git 很难处理。
我必须再执行 3 次相同类型的复杂提交,而且由于 cvsimport 无法执行,我无法每次花费 4 1/2 小时从 CVS 重新导入一个全新的 git 存储库查看我的提交。
更重要的是,我每天运行 git-cvsimport(我打算将其放入 cron,甚至编写一个守护进程每五分钟左右运行一次)可能会,这让我感到害怕错过 未来的提交!我没有找到 git 现有存储库来获取这些提交的方法;我只能在一个全新的存储库中运行 git-cvsimport 并永远等待,而我的许多其他分支都无法使用。
【问题讨论】: