Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 10. Juni 2011 20:11

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.156

SVN - Was ist das?

Hier mal eine kurze Zusammenfassung, was mit SVN gemeint ist, und wie einem das weiterhelfen soll.

Zunächst: Was ist SVN?

Mit SVN ist eine Versionsverwaltung gemeint. Genaueres dazu findet man hier:

http://de.wikipedia.org/wiki/Versionsverwaltung

Einen ausführlichen Artikel speziell zu SVN gibt es hier: http://de.wikipedia.org/wiki/Apache_Subversion

Über SVN kann man sich inoffizielle Versionen von Modulen, Plugins oder vom CMSms selbst holen.

Das ist oftmals dann nützlich, wenn es um spezielle Fehlerbehebungen oder Funktionen geht, die erst in der nächsten offiziellen Version veröffentlicht werden sollen, und man so lange nicht warten kann/will.

Außerdem kann man sich so bereits im Vorfeld einen Überblick verschaffen, was in der nächsten Version wie funktioniert. Z.B. ob bestimmte Module oder eigene Scripts noch funktionieren, und wie man sie ggfs. anpassen muss.

Dabei muss man aber aufpassen, da SVN-Versionen NICHT als fertige Versionen anzusehen und daher nicht immer stabil sind.

Was will mir ein Entwickler bei einem gemeldeten Fehler mit "Is fixed in SVN" sagen bzw. wie komme ich an diese SVN Version?

Für einfache SVN Operationen gibt es ein paar nützliche Tools, die sich per Mausklick ausführen lassen. Als Beispiele seien hier Tortoise SVN (Windows) und SC Plugin (Mac) genannt.

Diese Tools integrieren sich in das System sodass man mit der rechten Maustaste einen SVN Befehl im aktuellen Verzeichnis ausführen kann (beim SC Plugin funktioniert das seit OSX 10.5 nicht mehr, dafür gibt es einen Button, den man sich in die Menüleiste des Finders platzieren kann).

Wenn man also eine sogenannte SVN Version ausprobieren will, erstellt man sich einfach ein Verzeichnis (z.B.: "Gallery-SVN"). In diesem Verzeichnis klickt man dann einfach mit der rechten Maustaste (oder auf den Button im Finder) und wählt die Option "Checkout". Jetzt wird man aufgefordert eine URL einzugeben. Diese URL findet man im Download-Bereich von CMSms bei jedem Modul.

Den Download-Bereich von CMSms findet man hier: http://dev.cmsmadesimple.org/

Dort kann man nach einem Modul suchen, und bei Klick auf eines der Suchergebnisse gelangt man auf die Projektseite des Moduls. (i.d.R. findet man den direkten Link zur Projektseite auch in der Modulhilfe)

Bsp. einer Projektseite: http://dev.cmsmadesimple.org/projects/content2

Dort gibt es rechts den Link "Code" (Bsp.: http://dev.cmsmadesimple.org/project/code/836)

Unter "Anonymous Repository Accesss" findet man eine URL. (Bsp: http://svn.cmsmadesimple.org/svn/content2 )

Das ist die URL, die man beim "Checkout" angeben muss.

Aber nicht jeder Modulentwickler nutzt den SVN-Server von CMSms. Daher kann es auch vorkommen, dass man im SVN nichts findet.

Hat man bereits eine SVN Version, dann nimmt man die Option "Update". Die Version wird dann automatisch auf den neuesten Stand gebracht.

Jetzt werden alle Projektinformationen in das aktuelle Verzeichnis heruntergeladen.

(Nicht wundern, es sind mehr Dateien, als für das Modul benötigt werden. Die Verzeichnisse .svn sind für die SVN Software, damit sie Änderurgen am Quellcode zurückverfolgen kann. Diese müssen, wenn man die SVN-Version verwenden möchte, nicht mit auf den Server hochgeladen werden.) Die angegebene URL wird dabei gespeichert, sodass man sie bei einem Update nicht erneut angeben muss.

Oftmals benötigt man aber nicht das komplette Projekt, sondern nur eine bestimmte Version. I.d.R. sind die SVN Repositories so angelegt:

branches/
tags/
trunk/

trunk beinhaltet den jeweils aktuellsten Entwicklungsstand.

Dieser ist unter Umständen nicht immer vollständig bzw. funktionsfähig. Also nicht einfach aus-checken und auf euren Server laden, sondern erstmal lokal testen.

tags beinhaltet meist veröffentlichte Versionen. (z.B. Version 1.1), branches diverse Abzweige (z.B. den Versionszweig 1.x - also den aktuellsten Stand der 1er Serie)

Um nur eine bestimmte Version aus dem SVN zu laden, muss man den Pfad mit an die URL anhängen.

Bsp.: svn.cmsmadesimple.org/svn/content2/trunk/ (aktuellster Entwicklungsstand)
oder svn.cmsmadesimple.org/svn/content2/branches/0.7.x/ (letzter Entwicklungsstand der 0.7er Serie)
oder svn.cmsmadesimple.org/svn/content2/tags/0.7.2/ (Version 0.7.2 - aber die kann man auch als fertige zip-Datei herunterladen, da dies eine ofizielle Version ist)

Benötigt man nur eine bestimmte Datei, gibt man diese genau wie den Pfad mit in der URL an:

Bsp.: svn.cmsmadesimple.org/svn/content2/trunk/action.default.php

Mehr muss man als Anwender über dieses SVN nicht wissen. Nur noch soviel: Anwendung stets auf eigene Gefahr, da dies inoffizielle bzw. unfertige Versionen sind.

Wenn's funktioniert, schön smile. Wenn nicht, wieder zurück auf die vorherige Version und evtl. dem Entwickler melden.

Beitrag geändert von NaN (31. Januar 2013 16:31)

Offline

#2 11. Juni 2011 23:47

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: SVN - Was ist das?

danke für die Erläuterung. Wem das mit der SVN Software zu kompliziert oder unangenehm erscheint, dem empfehle ich für OSX das programm svnX

Beitrag geändert von nicmare (31. Januar 2013 16:31)

Offline