Impossible d'ajouter un rapport particulier en tant que sous-module

2

Je passe à l’utilisation de sous-modules pour mes plugins vim. La manière habituelle de faire cela est:

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

Cela fonctionne bien avec tous les plugins sauf Gundo:

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

Il n'y a pas de sortie de l'exécution de cette commande. Le référentiel est ajouté à .gitmodules et bundle/gundoest créé, mais est vide à l'exception d'un .gitfichier.

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

Je suis complètement nouveau dans les sous-modules. Quelle est la particularité de ce référentiel et comment puis-je l'ajouter correctement?

doyen
la source

Réponses:

2

Vous ne savez pas exactement ce qui se passe, mais cela peut être utile si vous vérifiez / fournissez les résultats suivants:

cd bundle/gundo
git remote -v

Si la sortie indique que le référentiel a l'origine correcte, il se peut que vous deviez simplement extraire la branche principale, c'est-à-dire:

cd bundle/gunco
git fetch
git checkout master

Si le sous-module est toujours endommagé et que tout échoue, vous pouvez essayer de supprimer le sous-module endommagé et toutes les traces de celui-ci de votre référentiel. Vous pouvez le faire en lançant les commandes suivantes depuis le niveau le plus haut de votre arbre de travail 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

Après cela, vérifiez git statusque tout semble normal. Essayez ensuite de créer à nouveau le sous-module.

Si rien ne fonctionne, essayez d'ajouter votre version de git (run git --version:) et votre config (run:) git config -là la question car elles pourraient aider les autres à comprendre ce qui se passe.

PS: Vous n'avez pas besoin de coller l'intégralité de la sortie git config -let vous devez probablement supprimer / mask-out user.name, user.email et toute autre donnée que vous ne souhaitez pas partager sur Internet.

Bonne chance!

maljub01
la source
Merci! Suppression complète du sous-module en fonction de vos étapes a fait l'affaire. Je ne suis pas sûr à 100%, mais je pense que j'ai mal entré l'URL du référentiel la première fois. J'ai essayé plus tôt d'éliminer toutes les traces, mais je n'étais pas assez complet.
Dean