Quelle est la meilleure façon de conserver le code de votre site dans git et de récupérer le core et contrib dans le même référentiel?


11

À l'époque où drupal était dans CVS, j'avais mes sites dans un référentiel git, puis j'ai récupéré core et contrib via CVS. Les deux systèmes coexistaient avec bonheur et je pouvais suivre les modifications de tout et apporter des correctifs aux modules contrib. Maintenant, avec git, je ne sais pas s'il faut simplement télécharger contrib et core et les archiver dans le référentiel git de mon site, ou peut-être utiliser des sous-modules?

Je me demande s'il existe encore des meilleures pratiques à ce sujet? Je suis particulièrement perplexe sur la façon d'avoir core comme sous-module si mon dépôt utilise le répertoire racine de drupals comme sa propre racine?

Réponses:


6

Pas exactement la même question que /drupal/260/deploying-drupal-with-git mais j'ai la même réponse pour vous.

http://freso.dk/en/2011/02/26/managing_fresodk_from_cvs_in_svn_to_git

Je pense qu'il peut être utile d'avoir Drupal Core comme un véritable check-out, ce qui facilite par exemple le suivi des hacks. Parce que parfois, il n'y a tout simplement pas d'autre moyen, qu'il s'agisse de .htaccess ou que vous ayez appliqué des correctifs pour les bogues qui vous affectent directement.


J'aime cette approche. La seule chose dont je ne suis toujours pas sûr est de savoir comment pousser le dépôt à distance? Je veux dire si la caisse de base est de drupal.org?
naxoc

Vous pouvez avoir autant de télécommandes que vous le souhaitez. Pour le rendre plus facile, vous pouvez renommer la télécommande drupal en drupal (git branch rename origin drupal), puis ajouter la vôtre comme origine (git remote add origin user@example.org: repo.git). Vous pouvez ensuite configurer la branche principale (7.x) pour extraire de drupal par défaut (branche git --set-upstream drupal / 7.x 7.x)
Berdir

Parfait. C'est exactement ce que je cherchais!
naxoc

Juste une petite correction git branch rename origin drupal- ça devrait être git remote rename origin drupal.
naxoc

3

Comme vous ne devriez pas pirater le noyau, inversez votre pensée: au lieu de faire du noyau un sous-module de votre site, faites de votre code personnalisé un sous-module du noyau. Une fois que vous avez cloné le référentiel principal, vous pouvez faire ce que vous voulez, y compris y ajouter vos propres sous-modules.

Sinon, pensez à ne pas utiliser le référentiel git de base pour votre site et mettez à jour vers la dernière version en utilisant d'autres fonctions, comme drush. De cette façon, vous n'auriez qu'à sous-modules de modules contrib. Sauf si vous contribuez au noyau ou faites des choses de pointe qui dépendent de corrections de bogues qui n'ont pas encore été publiées, l'utilité d'obtenir toutes les validations via VCS est minime.

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.