Não é possível adicionar o repositório específico como um submódulo

2

Estou mudando para usar submódulos para meus plugins vim. A maneira usual de fazer isso é:

$ git submodule add https://github.com/vim-scripts/a.vim bundle/a.vim
Cloning into 'bundle/a.vim'...
etc, etc

Isso funciona bem com todos os plugins, exceto o Gundo:

$ git submodule add https://github.com/sjl/gundo.vim bundle/gundo

Não há saída de executar este comando. O repositório é adicionado a .gitmodules e bundle/gundo é criado, mas está vazio, exceto por um arquivo .git .

$ cd bundle/gundo
$ git status
# On branch (null)
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

Sou completamente novo em submódulos. O que é especial sobre este repositório e como eu o adiciono corretamente?

    
por Dean 06.03.2013 / 05:52

1 resposta

2

Não tem certeza do que está acontecendo exatamente, mas pode ser útil se você verificar / fornecer a saída do seguinte:

cd bundle/gundo
git remote -v

Se a saída mostrar que o repositório tem a origem correta, então pode ser que você precise fazer o checkout do branch master, por exemplo:

cd bundle/gunco
git fetch
git checkout master

Se o submódulo ainda estiver bagunçado e tudo falhar, você poderá tentar remover o submódulo corrompido e todos os rastros dele do seu repo. Você pode fazer isso executando os seguintes comandos no nível superior da sua árvore de trabalho do git:

git config -f .git/config --remove-section submodule.bundle/gundo
git config -f .gitmodules --remove-section submodule.bundle/gundo
git rm --cached bundle/gundo
rm -rf .git/modules/bundle/gundo
rm -rf bundle/gundo

Depois disso, verifique git status para ter certeza de que tudo parece normal. Em seguida, tente criar o sub-módulo novamente.

Se nada disso funcionar, tente adicionar sua versão git (run: git --version ) e sua configuração (run: git config -l ) à pergunta, pois elas podem ajudar outras pessoas a descobrir o que está acontecendo.

PS: você não precisa colar toda a saída de git config -l e provavelmente deve remover / mascarar user.name, user.email e quaisquer outros dados que não deseja compartilhar no internet.

Boa sorte!

    
por 06.03.2013 / 07:48

Tags