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?

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!


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.