Bonjour,
Je vous explique le contexte.
Nous avons développé un CMS sur base de CakePhp 1.3, qui a son dépôt SVN.
Lorsque nous débutons le développement d'un nouveau site, nous copions le CMS pour faire un dépôt SVN propre au projet.
En cas de modification du coeur du CMS dans le cadre du projet, nous copions-collons manuellement les modifications sur le dépôt du CMS. Ce qui est déjà pas pratique, mais qui surtout ne permet pas de faire bénéficier les autres projets des corrections/améliorations apportées.
Chaque projet a également ses spécificités (fonctionnelles et visuelles) qui font que son code doit évoluer et être versionné à part.
L'idée est de basculer sur Git pour améliorer cette gestion et pouvoir apporter des modifications sur le coeur du CMS depuis n'importe quel projet et de pouvoir faire remonter ces modifications facilement dans les autres projets.
Je me suis un peu documenté à propos des submodules, subtrees, subrepos, et j'ai lu des choses sur sparse-checkout mais je n'ai rien trouvé qui correspondrait à notre besoin, ou alors je suis passé à côté (Git a l'air tellement puissant que ça ne m'étonnerait pas).
En gros, on a l'arborescence suivante :
- app
- cake
- plugins
- webroot
L'idée serait d'avoir les dossiers cake et plugins dans le dépôt CMS et les dossiers app et webroot dans le dépôt de chaque projet (en réalité, c'est même plus complexe car certains sous-dossiers de app/ et webroot/ devraient être issu du CMS).
Alors, la première question est toute simple : est-ce que Git nous permettrait de faire ce que nous souhaitons ?
Si oui, la deuxième question est : comment procéder ?
Je ne demande pas forcément un tutoriel complet mais au moins de savoir dans quelle direction partir car j'avoue être un peu perdu.
Je vous remercie d'avance.
Partager