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?

naxoc
la source

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.

Berdir
la source
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 [email protected]: 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.


la source