Neuen Kommentar schreiben
Drupal Subversion Repository
Transmachina gebaut hat und unterhält eine Reihe von Drupal-basierte Websites. Durch die aktive Community, kommen Updates für das Kern Drupal-Code und den Modulen häufig und kann eine Menge Zeit in Anspruch nehmen, um eine Drupal-Installation up-to-date und sicher zu halten. Als Ergebnis hat Transmachina ein Subversion-Repository für die Verfolgung von Drupal-Versionen entwickelt und haben beschlossen, um diese offen für die Open Source Community. Das Repository ist verfügbar unter http://svn-drupal.transmachina.net/ und kann mit den anonymen Zugriff gelesen werden. Derzeit sind alle Updates werden durch Transmachina Personal durchgeführt, aber wir würden in Freiwilligen in der Gemeinde interessiert sein zu helfen, mit diesem Prozess. /admin / logs / Status oder durch einen Blick in / modules / drupal / drupal.info auf der Linie Anfang "version ="
Was wir tun
Jedes Mal, wenn ein neues Release von Drupal gemacht wird, laden wir die Quelle und nutzen Subversion svn_load_dirs Skript, um unsere 5.x "aktuellen" Freigabe-Code auf diese neue Version zu aktualisieren. Das Skript fügt automatisch neue Dateien, entfernt gesunken Einsen und Updates alle vorhandenen Dateien. Der "Unterschied" wird in Subversion in einer effizienten Art und Weise gespeichert. Mit einem Tool wie TortoiseSVN können Sie schnell eine Übersicht über Veränderungen während jeder neuen Version gemacht. Wir fügen auch eine Kopie der Veröffentlichung als Ganzes in / trunk/drupal/5.10 zum Beispiel.Wie verwende ich es?
Der Start einer neuen Drupal-Projekt
- Exportieren Sie die neueste Version aus dem Repository, svn export http://svn-drupal.transmachina.net/trunk/drupal/5.x mydrupal (dies wird einen lokalen Ordner "mydrupal", die Sie bearbeiten lokal erstellen.
- Fügen Sie den Ordner in euren mydrupal Version Control System (jeder sollte funktionieren), zum Beispiel svn add mydrupal dann svn commit-m mydrupal "Hinzufügen von neuen, frischen Installation für Drupal myproject"
- Sie können jetzt neue Module, und sogar Änderungen an Core-Dateien Drupal (Sie sollten wirklich wissen, was Sie tun, wenn Sie Core-Dateien ändern)
- Sie sollten regelmäßig begehen Änderungen zurück auf Ihren Source-Control-System, so dass Sie Änderungen, die Sie und "Rollback" diese Änderungen zu verfolgen, wenn Sie etwas zu brechen.
- Wenn eine neue Version von Drupal losgelassen wird, aktualisieren wir unsere Repository. Sie können dann Ihre lokale Drupal-Projekt (ohne den Verlust Ihrer lokalen Anpassungen auf der Drupal-Kern), indem Sie:
svn merge http://svn-drupal.transmachina.net/trunk/drupal/
Sie sollten ersetzt werdenhttp://svn-drupal.transmachina.net/trunk/drupal/5.x mydrupal mit der Version von Drupal, dass Sie derzeit sagen, "5,10". Dieses Verfahren überprüfen Sie die Transmachina Repository für alle Änderungen aus Ihrer Version von Drupal auf die aktuelle Version und Patches Ihrer Arbeitskopie mit den Diffs. - Sie sollten das Upgrade vor Ort zu testen und dann übernehmen Sie die Änderungen wieder in Ihr System zur Versionskontrolle.
- Sie haben erfolgreich den Drupal-Kern, ohne dass alle lokalen Änderungen aktualisiert!
Umbau einer vorhandenen Drupal-Projekt
Wenn Sie bereits mit Drupal und wollen einfach auf die neueste Version zu aktualisieren, ohne dass Ihre lokalen Änderungen, das ist leicht zu! Sie sollten wahrscheinlich begehen alle lokalen Änderungen mit Ihrem Repository und kennzeichnen die Freisetzung so dass man leicht Rollback in Falle eines Fehlers in den folgenden Schritten.- Führen Sie einfach:
svn merge http://svn-drupal.transmachina.net/trunk/drupal/
Sie sollten ersetzt werdenhttp://svn-drupal.transmachina.net/trunk/drupal/5.x mydrupal mit der Version von Drupal, dass Sie derzeit sagen, "5.10".
Weitere Details
Aktualisieren des Repositorys
Für diejenigen, die daran interessiert sind, haben wir ein einfaches Skript entwickelt, um unserem Subversion-Repository schnell zu aktualisieren nach jeder Drupal Version.#!/bin/sh # $1 drupal version # the base of the WC repobase=/home//drupal/trunk Echo downloading to tmp # remove file so that it doesn't concat rm -f /tmp/drupal-$1.tar.gz # download the relase wget -O /tmp/drupal-$1.tar.gz http://ftp.drupal.org/files/projects/drupal-$1.tar.gz # extract contents to tmp folder tar -C /tmp -xvzf /tmp/drupal-$1.tar.gz echo Loading diff changes into repos svn_load_dirs -svn_username -svn_password http://svn-drupal.transmachina.net/trunk/drupal/5.x . /tmp/drupal-$1 # and now add that relase as-is into subversion too echo Copying new release from $1 to location drupal/$1 cp -R -v /tmp/$1 $repobase/drupal/$1 echo Queuing new release files to svn svn add $repobase/drupal/$1 echo Commiting new release svn commit $repobase/drupal -m "Adding new drupal release $1"
Aktualisieren einer Arbeitskopie
Wir haben ein Skript zu jedem unserer Arbeitskopien auch aktualisieren:#!/bin/sh # $1 drupal version of WC # $2 location of WC drupal root #svn merge --dry-run http://svn-drupal.transmachina.net/trunk/drupal/$1 http://svn-drupal.transmachina.net/trunk/drupal/5.x $2 svn merge http://svn-drupal.transmachina.net/trunk/drupal/$1 http://svn-drupal.transmachina.net/trunk/drupal/5.x $2Dry-run Linie statt - Wenn Sie zuvor das dies geht, kann es sich lohnt, mit dem Laufen sein. Diese Option gibt alle Änderungen, die an Ihrer Arbeitskopie, ohne Änderungen gemacht werden. Wenn es mehr als etwa 40 Updates und 4.3 Konflikte sind wahrscheinlich etwas schief gegangen sein. Wenn der Merge macht ein Chaos von Ihrer Arbeitskopie, können Sie versuchen
svn revert -R mydrupalrekursiv wieder alle lokalen Änderungen in der letzten Zeit, die Sie verpflichtet in das Repository. Im schlimmsten Fall Sie, können Sie TortoiseSVN (leider nur unter Windows) nutzen, um Rollback zu einer gesamten Installation zu einer früheren Version - im Grunde tut es die letzten engagierten Änderungen in umgekehrter.
