Предупреждение за встраивание Git Repository, хотя я использую субмодули - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь понять, как работают Git Submodules.Я прочитал много документации онлайн и сумел добавить подмодули в свой проект.Кажется, это работает, но по какой-то причине я продолжаю получать это предупреждение в моем терминале:

warning: adding embedded git repository: web/modules/custom/svds_adminmenu
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint: 
hint:   git submodule add <url> web/modules/custom/svds_adminmenu
hint: 
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint: 
hint:   git rm --cached web/modules/custom/svds_adminmenu
hint: 
hint: See "git help submodule" for more information.

Я нахожу это странным, потому что репозиторий svds_adminmenu - это тот, который я добавил как подмодуль.Так почему же он все еще дает мне это предупреждение?

Что я сделал, чтобы получить это следующее:

git clone path/repo.git 

И после этого я использовал следующее

git submodules update --init

Я получил это предупреждение в терминале, когда внес изменения в файл .gitignore и сделал следующее:

git rm -r --cached
git add --all
git commit -m '.gitignore changed'

Что не так?

1 Ответ

0 голосов
/ 09 мая 2019

Обычно это видно для вложенного Git-репозитория без извлеченного коммита (неродившаяся ветвь или заново созданный без какого-либо коммита).

Git 2.22 (Q2 2019) будет более явным в этой ситуации:

См. коммит f937bc2 , коммит b228270 , коммит e138111 (09 апреля 2019) Кайл Мейер (kyleam) .
(Объединено Junio ​​C Hamano - gitster - в коммит 4ab701b , 08 мая 2019 г.)

add: соответствующая ошибка в репозитории без фиксации

Предыдущая фиксация сделала 'git add', чтобы прерваться, если дан репозиторий, у которого не зафиксирована фиксация.
Однако выводпри сбое не подходит:

% git add repo
warning: adding embedded git repository: repo
hint: You've added another git repository inside your current repository.
hint: [...]
error: unable to index file 'repo/'
fatal: adding files failed

Подсказка не применяется в этом случае, и сообщение об ошибке не говорит пользователю, почему «repo» не может быть добавлен в индекс.

Обеспечьте лучший вывод, обучая add_to_index() ошибке, когда предоставляется каталог git, где HEAD не может быть разрешен.
В avoid предупреждение и подсказка о встроенном репозитории, вызывайте check_embedded_repo() только после успешного выполнения add_file_to_index(), потому что, как правило, его вывод не имеет смысла, если добавление к индексу завершается неудачей.

Теперь вы увидите:

'<nested repo folder' does not have a commit checked out
fatal: adding files failed 
...