3

我尝试为 emacs ( https://github.com/dhaley/dot-emacs ) 安装一个 dotfiles 配置。我完全按照指示(通过brew下载并安装emacs的macport,repository的克隆),现在当我使用命令 git submodules update --init 我收到以下错误:

$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和hole dotfile的新手,所以如果你能给我一个提示,那就太好了(在stackoverflow上我发现Git submodule head 'reference is not a tree' 错误,但我并没有真正理解这是否是我的问题以及如何解决修理它)

PS:我向存储库的维护者 Damon Haley 发送了一封邮件,其中包含指向此的链接,因为我发现没有论坛可以讨论 github 存储库上的问题。

最好的问候和感谢大家为这个伟大的社区做出的贡献,

丹尼斯

4

1 回答 1

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

这意味着子模块(此处)引用的 repogit://git.savannah.nongnu.org/bbdb.git不包含该提交。
一个可能的原因是该子模块 repo 的历史记录发生了变化(push --force例如通过 a)

除了分叉https://github.com/dhaley/dot-emacs并使用您认为兼容的提交更新您的分叉(在探索之后git://git.savannah.nongnu.org/bbdb.git)之外,没有什么可做的。这样,您可以提交拉取请求,要求父 repo 的维护者dot-emacs使用您找到的 SHA1 更新该子模块的引用。

于 2013-08-24T13:37:03.373 回答