Subversion (4) – Importieren einer Projektstruktur

29.07.2007

Zusammenfassung

Im nächsten Schritt erzeuge ich auf der Festplatte die Struktur meines Projektes. Diese Struktur ist nicht vorgegeben und kann nach beliebiger Struktur angelegt werden, wobei es ein paar Empfehlungen und Konventionen gibt.

Ähnliche Notizen

Der Inhalt dieses Artikels ist noch aktuell, doch kann ich nur dringend dazu raten, sich die fantastische Alternative zu Subversion anzusehen: Git.

Es wird grundsätzlich empfohlen mit den drei Ordnern trunk, tags und branches auf der obersten Ebene zu beginnen. Der Ordner trunk enthält den aktuellen Entwicklungsstand der Dateien. Der Ordner tags wird benutzt, um sich spezielle Stände mit sprechenden Namen zu merken (z. B. Finale Version 1. Mai 2006, V1.02 etc.). Den Ordner branches lege ich normalerweise nicht an, dieser wird benutzt, um eine parallele Entwicklung eines Projektes zu entwickeln.

Zum Verständnis von branches eine kurze Erklärung (Wen das nicht interessiert, der kann diesen Absatz getrost überspringen):

Ein Programmierer hat eine Software entwickelt. Da er eigentlich nicht mal vor hatte diese richtig zu veröffentlichen, hat der (englischsprechende) Programmierer gar nicht daran gedacht, Mehrsprachigkeit in seine Software einzubauen. Eine andere Programmiererin bietet sich nun an, eine Mehrsprachigkeit für die Software zu programmieren. Also erzeugt sie einen Zweig (branch) der Hauptentwicklungslinie. Sie arbeitet an der Mehrsprachigkeit, bis diese fehlerfrei ist. Später werden Ihre Änderungen zurück in die Hauptentwicklungslinie (trunk) geführt. Das hört sich kompliziert an – und das ist es wohl auch.

Update: Einen Branch wieder zu „mergen“ ist kompliziert, aber nur unter Subversion. Unter neueren Versionskontrollsystemen, wie z. B. Git, Mercurial oder Bazaar ist es im Bruchteil einer Sekunde (auch für absolute Laien) erledigt.

Anlegen der Grundstruktur

$ cd ~

$ cd Desktop

$ mkdir Import

$ cd Import

$ mkdir trunk

$ mkdir tags

Dies erzeugt meine Grundstruktur, den Konventionen entsprechend. Der Ordner Import (frei gewählter Name) liegt auf dem Desktop und dient nur für den Importierungsvorgang. Danach kann er gelöscht werden. Innerhalb von trunk lege ich jetzt eine für mein Projekt passende Struktur an. Als Hilfe ist es wichtig zu erwähnen, dass mit Subversion nur Ordner ausgecheckt werden können, keine einzelnen Dateien. Daher ist es wichtig, die Struktur mit möglichst logischen und strukturierten Ordnern und Unterordnern anzulegen.

Beispielstruktur meines Projektes

Hier ist mal eine Beispielstruktur, die ich überlicherweise verwende:


tags
trunk
  Konzept [Konzept des Projektes mit Mindmaps, Ideen etc.]
  Preview [Screenshots für den Kunden zur Voransicht]
  Layout [Die PSD und AI-Dateien]
  Vorlagen [Alles, was vom Kunden kommt]
    Fotos
    Grafiken
    Logos
    Texte
  Website [Die eigentliche Website]
    css [Stylesheets]
      img [Grafiken für das Design]
    img [Grafiken/Fotos für den Content]
    js [JavaScript-Dateien]

Der Vorteil bei einer tiefen Ordnerstruktur liegt darin, dass man nur das holen muss, was man gerade braucht. Will also ein Designer am Layout etwas verändern, reicht es, wenn er sich den Ordner Layout aus dem Repository holt.

Überlicherweise lege ich auch schon einige Vorlagendateien (html, css) und alles, was ich schon vom Kunden habe, gleich mit in die Verzeichnisse.

Importieren der Verzeichnisstruktur

Dieser Stand wird jetzt in das noch leere Repository importiert.

$ cd ~

$ cd Desktop

$ cd Import

$ svn import . file:///Users/XYZ/Subversion/meinewebsite/ \

-m "Import des Projektes"

An der Stelle, wo XYZ steht muss der Name eures Benutzerordners stehen. Der Parameter -m ist vorgeschrieben und erwartet eine Beschreibung dessen, was man gemacht hat.

Wenn als Meldung: Revision 1 übertragen ausgegeben wurde, hat der Importvorgang reibungslos funktioniert.

Im nächsten Teil dieser Reihe zeige ich, wie man Projekte zum Arbeiten auscheckt, Änderungen vornimmt und diese zurück ins Repository spielt.

Dieser Eintrag kann nicht mehr kommentiert werden.
Portaitfoto von Stefan Imhoff

Ich bin Stefan Imhoff, Designer und Webentwickler, Kampfkünstler und Hobby-Philosoph. 1999 habe ich das Ninjutsu-Magazin kogakure.de entwickelt, das schon bei PRO7 (Galileo), RTL2 (Welt der Wunder) und in der P.M. erwähnt wurde. Ich wohne in Hamburg und interessiere mich für Webstandards, Zugänglichkeit von Websites, Django, Bücher, Kinofilme, CG, Apple, Design und noch zwei, drei andere Dinge. Mehr Informationen »

Kogakure CreativeCommons ExpressionEngine Apple Webfaction

© 2006-2010, Stefan Imhoff. Die Inhalte sind unter einer CreativeCommons-Lizenz veröffentlicht.

Angetrieben mit ExpressionEngine 1.6.3 und gehostet von Webfaction. Impressum, Datenschutz