Git Repository mit allstar moduleset von Freistil Consulting
Jochen Lillich von Freistil Consulting pflegt ein zentrales Drupal Git Repository auf das Jedermann lesend zugreifen kann. In diesem Git Repository sind nicht nur drei verschiedene Versionen des Drupal Core enthalten (Drupal Standard, Pressflow, Cocomore), sondern auch jeweils eine Version mit einem vorbereiteten Modulset. Enthalten sind gute 50 Module, die auf den meisten Seiten zum Einsatz kommen.
Der Vorteil von diesem zentralen git ist, dass es laufend aktualisiert wird. Laut Jochen Lillich derzeit noch manuell, in naher Zukunft aber automatisiert per drush make. Zusammen mit den wunderbaren Möglichkeiten von Git kann man die bereit unter Versionsverwaltung stehende eigene Website durch das neu hinzugefügte obige Git Repository automatisch aktuell halten.
Hierzu reicht ein
git remote add allstars git://vcs.freistil-hosting.net/drupal/6.x-stable-allstars
im Hauptverzeichnis seiner eigenen Website. Durch das anschließendegit pull allstars master
ist die eigene Drupalinstallation nun mit dem zentralen Git verheiratet und der Drupalcode inklusive der Allstarsmodule in das eigene Repository eingefügt. Sofern schon Dateien im eigenen Repo vorhanden waren, wird git versuchen diese automatisch zu vereinen (merge), sofern es dabei zu Konflikten kommt müssen diese aufgelöst werden.
In sites/all/modules/allstars sind die Module enthalten, die von Jochen Lillich und seinem Team zentral gepflegt werden. Nun kann es ja vorkommen, dass man schon selbst Module in sites/all/modules gespeichert hatte und diese ebenfalls im allstars Repository vorhanden sind. Für diesen Fall müssen die Module aus dem eigenen Repository entfernt werden. Zum Beispiel über dieses kleine Bash Script, das man im Ordner sites/all/modules ausführen sollte. Es entfernt die ebenfalls im eigenen modules Ordner enthaltenen Module, die auch per allstar vorhanden sind aus dem git.#!/bin/bash
cd allstars
for file in *; do
if [ -d $file ]; then
if [ -d ../$file ]; then
echo $file gibts auch im eigenen modules ordner.
git rm -r ../$file
fi
fi
done
cd ..
Wenn man zukünftig schauen will, ob in dem zentralen git aktuelle Module oder der aktuelle Core enthalten ist, kann man im Drupal root einfach per folgendem Befehl diese Änderungen in sein eigenes Repository ziehen und anschließend seinem eigenen Deployment unterziehen.git pull allstars master