Qual è il modo migliore per mantenere il codice del tuo sito in git e pull in core e contribuire allo stesso repository?


11

Quando drupal era in CVS avevo i miei siti in un repository git e poi ho inserito il core e contribuito tramite CVS. I due sistemi coesistevano felicemente e potevo tracciare le modifiche a tutto e creare patch per i moduli contrib. Ora con git non sono sicuro se scaricare solo contrib e core e controllarlo nel repository git del mio sito, o forse usare i sottomoduli?

Mi chiedo se ci sono ancora buone pratiche su questo? Sono particolarmente perplesso su come avere core come sottomodulo se il mio repository utilizza la directory root di drupals come root?

Risposte:


6

Non esattamente la stessa domanda di /drupal/260/deploying-drupal-with-git ma ho la stessa risposta per te.

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

Penso che possa essere utile avere Drupal Core come un vero check-out, ad esempio per rendere più facile il monitoraggio degli hack. Perché a volte, semplicemente non c'è altro modo, che si tratti di .htaccess o forse hai applicato alcune patch per i bug che ti riguardano direttamente.


Mi piace questo approccio. L'unica cosa di cui non sono ancora sicuro è come spingere il repository in remoto? Voglio dire se il checkout di base proviene da drupal.org?
naxoc,

Puoi avere tutti i telecomandi che desideri. Per semplificare, è possibile rinominare il telecomando drupal in drupal (git branch rinomina origin drupal), quindi aggiungere il proprio come origine (git remote aggiungere origin user@example.org: repo.git). Puoi quindi ancora configurare il ramo principale (7.x) per estrarre da drupal per impostazione predefinita (git branch --set-upstream drupal / 7.x 7.x)
Berdir

Perfetto. Questo è proprio quello che stavo cercando!
naxoc,

Solo una piccola correzione per git branch rename origin drupal- dovrebbe essere git remote rename origin drupal.
naxoc,

3

Dato che non dovresti hackerare core, inverti il ​​tuo pensiero: invece di trasformare core in un sottomodulo del tuo sito, trasforma il tuo codice personalizzato in un sottomodulo di core. Una volta clonato il repository principale, è possibile fare ciò che si desidera, incluso l'aggiunta dei propri sottomoduli.

In alternativa, considera di non utilizzare il repository core git per il tuo sito e aggiorna all'ultima versione usando altre funzioni, come drush. In questo modo, dovresti solo sottomodulare i moduli contrib. A meno che tu non stia contribuendo al core o stia facendo cose al limite che dipendono da correzioni di bug che non sono ancora state rilasciate, l'utilità di ottenere tutti i commit tramite VCS è minima.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.