Simplifier la gestion/reconstruction des submodules Git

Introduction

Aujourd’hui, je vais aborder un sujet délicat : la gestion des submodules GIT.

Problématique

Il n’est plus nécessaire de démontrer l’intérêt des submodules dans un projet. Mais l’ajout est parfois difficile et la gestion compliquée. Quelques questions persistent : « Et si je veux supprimer un submodule », « et si je veux dupliquer mon projet? », « et si je dois reconstruire mon projet? », « et comment je me souviens des modules que j’ai ajoutés » , « et si je dois mettre en place un processus d’industrialisation avec des submodules »… On peut facilement l’envisager lorsque l’on crée un modèle et que l’on souhaite l’utiliser partout. Bien sûr, ce modèle comportera tous nos outils et frameworks en submodules. Dans ce cas, nous allons nous heurter à un souci avec les submodules, car ils ne seront pas dupliqués avec un copier-coller dans le nouveau « repository ». Ils seront juste copiés et perdront leurs facultés de submodule.

Solution

La solution est simple : il nous  faut un script de gestion de submodule. Un script qui comporte des fonctions de gestion et des paramètres simples.

D’où l’ idée de créer un petit script qui nous permet de gérer l’ajout et le retrait d’un submodule. Nous allons créer un fichier à la racine de notre projet : « DependenciesRestore.sh ».

Le but :

  • déterminer d’où est lancé le script (de l’endroit où il est installé),
  • ajouter un submodule,
  • retirer un submodule,
  • éviter les duplicata,
  • historier les ajouts/retraits.

Dans ce fichier, nous allons créer deux fonctions : l’une d’ajout d’un submodule, l’autre de retrait d’un submodule. Leurs paramètres seront identiques pour facilement permuter d’une fonction à l’autre :

  • le dossier où sera installé le submodule,
  • son nom
  • son chemin vers un dépôt GIT distant

Il suffira ensuite d’appeler le script dans le terminal, soit depuis un autre script d’installation, soit manuellement

Voici le script avec un exemple d’appel à deux submodules :

DependenciesRestore.sh

Il vous suffit d’ajouter des appels aux fonctions et de lancer votre script pour gérer facilement vos submodules.

Disponible sur GitHub

Le projet original est disponible à l’adresse : https://github.com/HephaisCode/HXTemplateAppIOS

 

Simplifier la gestion/reconstruction des submodules Git
Tagged on:         

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *