我最近在我的存储库中有一个损坏的对象,指向我的头上(该对象是空的)。它发生在中断git-svn命令之后。然后,我通过手动更改这个对象上的ref来恢复我的存储库。
现在,我想将我的git存储库与SVN同步,但git svn fetch返回:
fatal: Invalid revision range 5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remotes/a-branch
rev-list --pretty=raw --no-color --reverse 5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remotes/a-branch --: command returned error: 1285a5dc92cd3083960fb4828ae387a32cda0554fa8指的是损坏的对象,我想说git-svn不考虑这个对象而是另一个对象,但我不知道如何破解这个对象。
如果有人知道git-svn内部存储这个值的位置/方式,那就太好了。
谢谢
发布于 2010-07-19 23:42:57
如果将SVN元数据与提交消息(那些http://svn.…./svn/trunk@r12331 (<id>))一起存储,则可以从.git/svn/…目录中删除.rev_map.<id>文件。
然后,git-svn将在运行下一个命令之前重新创建它们。
编辑:运行git gc时,如果您看到以下各行的输出:
$ git gc
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'refs/heads/master' references pruned commits
warning: reflog of 'refs/remotes/trunk' references pruned commits然后你就知道你需要执行上面的技巧了。在这种情况下:
rm .git/svn/refs/remotes/trunk/.rev_map.*https://stackoverflow.com/questions/3282377
复制相似问题