git submodule update --init Ошибка при установке файлов dot-emacs

Я пытаюсь установить конфигурацию dotfiles для emacs (https://github.com/dhaley/dot-emacs < / а>). Я сделал все, как было сказано (загрузка и установка macport emacs через brew, клонирование репозитория), и теперь, когда я использую команду 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 и дырах в точечных файлах, поэтому, если вы можете дать мне подсказку, это было бы здорово (в stackoverflow я обнаружил Заголовок подмодуля Git" ссылка не является деревом "ошибка, но я не совсем понял, является ли это моей проблемой и как ее исправить)

PS: Я отправил письмо Дэймону Хейли, сопровождающему репозитория, со ссылкой на это, так как я не нашел форума для обсуждения проблем в репозитории github.

С уважением и благодарностью за вклад в это великое сообщество,

Деннис


person Dennis Seidel    schedule 24.08.2013    source источник


Ответы (1)


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.

person VonC    schedule 24.08.2013
comment
Спасибо, я удалил подмодули (davidwalsh.name/git-remove-submodule) а затем снова добавить нужные. Вроде работает :-) - person Dennis Seidel; 27.08.2013
comment
@DennisSeidel, ладно. Обратите внимание, что для удаления подмодуля у вас также есть мой другой ответ: stackoverflow.com/a/16162000/6309 - person VonC; 27.08.2013