"git svn fetch"失败,ls-tree因为缺少树对象而死亡

mym*_*yme 5 svn tags git fetch

"git svn fetch"没有完成并且会发出以下(错误)消息:

(dev) martinom :: /var/my/git ‹master*› » git svn fetch
Found possible branch point: http://.../branches/dexter/lib => http://.../tags/dexter-17, 25032
Initializing parent: refs/remotes/tags/dexter-17@25032 branch_from: /.../trunk => /.../trunk/lib
Found possible branch point: http://.../trunk/lib => http://.../branches/dexter/lib, 24233
Initializing parent: refs/remotes/tags/dexter-17@24233
fatal: Not a valid object name 
ls-tree -z  ./: command returned error: 128
Run Code Online (Sandbox Code Playgroud)

似乎ls-tree在路径之前缺少对象名称.我不知道在哪种情况下调用它以及它为什么不存在.

一些背景可能有助于阐明错误:

  1. 我应该在tags /中从整个存储库创建一个标签,但是,我设法只将branches /.../ lib复制到标签,创建一个损坏的标签(svn cp ...).
  2. 然后我用svn rm删除了破坏的标签(dexter-17).
  3. 我创建了新的正确标签,再次调用cp.

然后继续正常发展,一切都很好.好吧,直到我尝试更新我的git-svn存储库.

我想可能有几种方法可以绕过这个问题.首先,你可以看到历史变得非常大,我们通过了25k的修订版,因此克服了破坏版本中的git克隆是最不可取的.

如果可能的话,以某种方式跳过git-svn中的标签创建修订是另一个.我真的不需要历史中破损标签的历史记录.

最后,可能会删除/修复subversion repository/db中的内容,使其与git-svn兼容.如果这意味着完全删除修订版或修改它或其他东西.

很高兴也知道实际上是什么导致git-svn这样的barf.从.git/svn/refs/remotes/tags我看到dexter-17,dexter-17 @ 2423和dexter-17 @ 25032作为远程参考..这对我来说似乎不太明智......

111*_*01b 0

我已经成功运行“git svn rebase”来使用 SVN 的最新更新来更新我的 git 存储库。你尝试过变基吗?