squadette: Комментарии

Главные вкладки

22 августа 2007 в 19:28

В принципе никто не мешает в каталоге drupal-siteX убивать модуль через git rm -f -r

тогда исправления в неиспользуемых в этом сайте модулях будут уходить в никуда

svnmerge.py вроде бы прикольный, но как всё же интегрированнее и концептуально чище это сделано в гите!

22 августа 2007 в 14:13

Теперь для модулей.

Я понял Вашу задачу, про внесение изменений в модули. Да.

для неё надо ввести новый репозиторий -- drupal-common, который клонирован из drupal-and-modules. В drupal-common будут вноситься изменения в модули и основной код.

Тогда репозитории drupal-siteN надо склонировать именно из drupal-common.

Схему протягивания изменений я могу перерасписать, но вроде как там ничего сложного нет.

22 августа 2007 в 14:09

Нет, drupal-and-modules будет один, содержать объединение всех модулей, используемых на всех сайтах. Если на каком-то сайте модуль не нужен -- просто не надо его включать.

Соответственно, схема drupal + drupal-and-modules + drupal-site * N решает поставленную задачу.

Обновление исходного кода протаскивается по маршруту drupal->drupal-and-modules.

Патчи кода друпала для всех сайтов делаются в drupal-and-modules а затем протаскиваются по маршруту d-a-m -> drupal-siteN.

Патчи кода для конкретного сайта вносятся, натурально, в drupal-siteN

22 августа 2007 в 2:46

да, есть ещё варианты (оба я не пробовал лично, но вроде как они работают)

а) svnmerge: http://kenkinder.com/svnmerge/

б) svk: http://versioncontrolblog.com/svk/

22 августа 2007 в 2:41

прочитайте, как устроены vendor branches в Subversion:

http://svnbook.red-bean.com/en/1.1/ch07s05.html

изобретать велосипед не требуется, но увы, в svn на текущий момент эта функциональность реализована из рук вон плохо.

22 августа 2007 в 2:33

а) вот заметка: http://versioncontrolblog.com/2007/08/02/upgrading-drupal-52-with-git/

б) Вы принципиально не поняли идею (или я невнятно описал). изложенная техника тривиально распространяется на любое количество сайтов со своим набором изменений в каждом. достаточно всего лишь клонировать drupal-and-modules в drupal-site1, drupal-site2, etc.