首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试修复损坏的文件后,git-svn fetch/rebase失败

尝试修复损坏的文件后,git-svn fetch/rebase失败
EN

Stack Overflow用户
提问于 2010-07-19 23:18:36
回答 1查看 3.8K关注 0票数 14

我最近在我的存储库中有一个损坏的对象,指向我的头上(该对象是空的)。它发生在中断git-svn命令之后。然后,我通过手动更改这个对象上的ref来恢复我的存储库。

现在,我想将我的git存储库与SVN同步,但git svn fetch返回:

代码语言:javascript
复制
fatal: Invalid revision range 5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remotes/a-branch
rev-list --pretty=raw --no-color --reverse 5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remotes/a-branch --: command returned error: 128

5a5dc92cd3083960fb4828ae387a32cda0554fa8指的是损坏的对象,我想说git-svn不考虑这个对象而是另一个对象,但我不知道如何破解这个对象。

如果有人知道git-svn内部存储这个值的位置/方式,那就太好了。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-19 23:42:57

如果将SVN元数据与提交消息(那些http://svn.…./svn/trunk@r12331 (<id>))一起存储,则可以从.git/svn/…目录中删除.rev_map.<id>文件。

然后,git-svn将在运行下一个命令之前重新创建它们。

编辑:运行git gc时,如果您看到以下各行的输出:

代码语言:javascript
复制
$ 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

然后你就知道你需要执行上面的技巧了。在这种情况下:

代码语言:javascript
复制
rm .git/svn/refs/remotes/trunk/.rev_map.*
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3282377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档