2013-08-24 36 views
3

我尝试安装emacs的dotfiles配置文件(https://github.com/dhaley/dot-emacs)。我做了所有像指示(下载并安装通过BREW的emacs的macport中,repsitory的克隆),现在当我使用命令git的子模块更新--init我得到以下错误:git submodule update --init安装dot-emacs文件时出错

$git submodule update --init 
fatal: reference is not a tree: a2bcba9a92873900055dcaff640e4d31a650947e 
fatal: reference is not a tree: 05f9cebc64842efa2968d49adb08330d15c7ffe8 
fatal: reference is not a tree: 89611c7a6947787bf2f591e64e22b7444ea5ed41 
Unable to checkout 'a2bcba9a92873900055dcaff640e4d31a650947e' in submodule path 'override/bbdb' 
Unable to checkout '05f9cebc64842efa2968d49adb08330d15c7ffe8' in submodule path 'site-lisp/auctex' 
Unable to checkout '89611c7a6947787bf2f591e64e22b7444ea5ed41' in submodule path 'site-lisp/drupal-mode' 

一些这些在.gitmodules文件中没有条目,我手动添加了它。但现在我不知道如何解决这个错误。我新来的Emacs和洞点文件的东西,所以如果你能给我一个提示它会很好(在stackoverflow我发现Git submodule head 'reference is not a tree' error,但并不真正了解这是否是我的问题,以及如何解决它)

PS:I发送邮件给存储库的维护人员Damon Haley,并附上链接,因为我发现没有讨论github存储库问题的论坛。

诚挚的问候,并感谢大家的贡献,这马丽娟社区,

丹尼斯

回答

2
fatal: reference is not a tree: 89611c7a6947787bf2f591e64e22b7444ea5ed41 
Unable to checkout 'a2bcba9a92873900055dcaff640e4d31a650947e' in submodule path 'override/bbdb' 

这意味着由子模块引用(这里git://git.savannah.nongnu.org/bbdb.git)回购不包含提交。
一个可能的原因是当子模块回购已经看到了它的历史变化(通过push --force例如)

没有很多工作要做,除了比分叉https://github.com/dhaley/dot-emacs,并更新你的叉子一个承诺,似乎你兼容(在探索git://git.savannah.nongnu.org/bbdb.git后)。这样,您可以提交拉请求,请求父回购dot-emacs的维护人员使用您将找到的SHA1更新该子模块的引用。

+1

谢谢,我去删除子模块(http://davidwalsh.name/git-remove-submodule),然后再次添加正确的。似乎工作:-) –

+0

@DennisSeidel确定。请注意,对于删除子模块,您也有我的其他答案:http://stackoverflow.com/a/16162000/6309 – VonC