Jaki jest najlepszy sposób na utrzymanie kodu witryny w git i ściągnięcie rdzenia i wkładu w tym samym repozytorium?

11

Kiedy drupal był w CVS, miałem swoje strony w repozytorium git, a następnie ściągałem rdzeń i współtworzyłem przez CVS. Oba systemy szczęśliwie współistniały i mogłem śledzić zmiany we wszystkim i wprowadzać łatki do modułów. Teraz z git nie jestem pewien, czy po prostu pobrać contrib i core i sprawdzić go w repozytorium git mojej witryny, czy może użyć submodułów?

Zastanawiam się, czy są jeszcze jakieś najlepsze praktyki w tym zakresie? Szczególnie zastanawiam się, jak mieć rdzeń jako submoduł, jeśli moje repozytorium używa katalogu głównego drupals jako własnego katalogu głównego?

naxoc
źródło

Odpowiedzi:

6

Nie do końca to samo pytanie, co /drupal/260/deploying-drupal-with-git, ale mam taką samą odpowiedź.

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

Myślę, że warto mieć Drupal Core jako prawdziwą kasę, ułatwiającą na przykład śledzenie włamań. Ponieważ czasami po prostu nie ma innego sposobu, czy to zmienia się na .htaccess, czy może zastosowałeś łaty dla błędów, które bezpośrednio ciebie dotyczą.

Berdir
źródło
Lubię to podejście. Jedyne, czego wciąż nie jestem pewien, to jak przekazać repozytorię na odległość? Mam na myśli, czy podstawowa kasa jest z drupal.org?
naxoc
Możesz mieć tyle pilotów, ile chcesz. Aby to ułatwić, możesz zmienić nazwę drupala na drupal (gałąź git zmienia nazwę origin drupal), a następnie dodać własną jako źródło (git zdalnie dodaj pochodzenie uż[email protected]: repo.git). Następnie nadal możesz skonfigurować gałąź podstawową (7.x), aby domyślnie
pobierała
Doskonały. Właśnie tego szukałem!
naxoc
Tylko mała korekta git branch rename origin drupal- powinna być git remote rename origin drupal.
naxoc
3

Ponieważ nie powinieneś hakować rdzenia, odwróć swoje myślenie: zamiast uczynić z rdzenia podmoduł witryny, ustaw niestandardowy kod jako podmoduł rdzenia. Po sklonowaniu podstawowego repozytorium możesz robić, co chcesz, w tym dodawać do niego własne submoduły.

Możesz też rozważyć nieużywanie podstawowego repozytorium git dla swojej witryny i aktualizację do najnowszej wersji przy użyciu innych funkcji, takich jak drush. W ten sposób będziesz musiał tylko submodule moduły contrib. O ile nie przyczyniasz się do rdzenia lub robisz najnowocześniejsze rzeczy, które zależą od poprawek błędów, które nie zostały jeszcze wydane, użyteczność pobierania wszystkich zatwierdzeń za pomocą VCS jest minimalna.


źródło