Téléchargez plusieurs branches dans le même répertoire en utilisant un compte de rechange

Repo est un script python qui gère le téléchargement de code source cyanogenmod.

Pour télécharger la ramification cm-10.1, la commande repo est,

Cd ~ / cm-10.1

Repo init -u https://github.com/CyanogenMod/android.git -b cm-10.1

Cd ~ / cm-11

Alors nous pouvons utiliser – option de référence pour télécharger le code source cm-11 comme

Repo init –reference = ~ / cm-10.1 -u https://github.com/CyanogenMod/android.git -b cm-11.0

Mais qui télécharge les données delta dans le répertoire cm-11.

Je souhaite télécharger toutes les branches de cyanogenmod dans un seul répertoire et construire au besoin. Comment puis-je faire ceci?

Comme vous utilisez la même URL pour toutes les branches, vous pouvez les télécharger dans un seul dossier, et ils sont toujours séparés.

Vous pouvez télécharger plusieurs branches de fichiers de projet dans un seul dossier .repo dans un seul répertoire de travail. Cela permet d'économiser de l'espace disque et d'éliminer les obstacles tels que le repo --reference sensible au chemin, l'impossibilité d'utiliser plusieurs références.

Pour télécharger toutes les branches dans le même dossier .repo , faites

 repo init -u https://github.com/CyanogenMod/android.git -b cm-10.1 repo sync repo init -b cm-10.2 repo sync repo init -b cm-11.0 repo sync 

Et la liste va ..
Ceci permet de télécharger toutes les branches dans le dossier .repo unique dans un seul répertoire de travail. Lors de l'initialisation d'une deuxième branche, nous ne fournissons pas l'option -u url parce que nous réutilisons une branche différente du compte local.

Après la repo sync le répertoire de travail contient la dernière branche initialisée et cela est totalement inoffensif. Nous ne sommes concernés que par le répertoire de travail, pas par le contenu du dossier .repo . Les branches restent séparées.

Vous pouvez occasionnellement utiliser le repo forall -c git gc pour emballer tous les objets lâches dans les fichiers pack.