Depuis que AUR 4 est apparu, je ne sais pas trop comment m'y prendre pour regrouper tous mes paquets dans un même dépôt Git (ce qu'on qualifie de super-projet il me semble).
J'ai bien trouvé 3 méthodes, mais je ne suis pas certains qu'elles conviennent à mes attentes :
- La première est très sale, il suffit d'avoir un dépôt maître et de cloner un par un tous les paquets dedans (avec un
git clone ssh+git://aur@aur.archlinux.org/<paquet>.git
). Problème : on ne peut pas récupérer tous les paquets d'un coup avec cette méthode.- La deuxième est certainement la plus populaire : dans le dépôt maître, ajouter des sous-modules avec
git submodule add ssh+git://aur@aur.archlinux.org/<paquet>.git
. Problème : si je mets à jour un paquet puis que je décide de faire un nouveau clone du dépôt maître avec git clone --recursive
, ça va me cloner les sous-modules mais en ignorant les nouveaux commits (donc je verrais l'ancienne version en gros).- La troisième méthode, que j'avais pensé être la bonne, est de "tracker" la branche master du sous-module : toujours dans le dépôt maître,
git submodule add -b master ssh+git://aur@aur.archlinux.org/<paquet>.git
. Problème : le même qu'avec la précédente méthode, et j'ai aussi un joli HEAD détachée sur xxxxxxx lorsque je fais un git status
dans un sous-module.Avec les deux dernières méthodes, pour forcer la mise à jour de tous les sous-modules vers la version la plus récente, j'ai trouvé la commande
git submodule foreach git pull origin master
qui fonctionne bien.Mais un
git status
dans le dépôt maître me dit :
Code : Tout sélectionner
modifié : <paquet> (nouveaux commits)
Il y a quelque chose à faire pour éviter de devoir faire des
git submodule foreach git pull origin master
et ne pas avoir le message "nouveaux commits" dans le dépôt maître ?Merci d'avance.
![Smile :)](./images/smilies/icon_e_smile.gif)