Ausprobiert: SVN als Versionsverwaltung

08.09.2011 | 18 Kommentare | Jeffrey

Kommt euch bestimmt bekannt vor: Man arbei­tet an einem Doku­ment und merkt, dass man vor weni­gen Tagen etwas aus dem Doku­ment gelöscht hat, was man nun doch wie­der benö­tigt. Lei­der inner­halb einer zu kur­zen Zeit­spanne, dass es nicht mehr aus dem Backup wie­der­her­stell­bar ist. Ärgerlich.

Lösung? Es gibt ver­schie­dene Mög­lich­kei­ten, eine davon ist eine Ver­si­ons­ver­wal­tung. Mit einer Ver­si­ons­ver­wal­tung kann man ältere Datei­ver­sio­nen wie­der­her­stel­len oder mit der aktu­el­len Ver­sion vergleichen.

In der Drop­box ist bei­spiels­weise so eine Funk­tion inte­griert. In der kos­ten­lo­sen Ver­sion aber lei­der nur 30 Tage zurück und ohne inte­grierte Diff-Möglichkeit. Also habe ich mich mal mit Sub­ver­sion beschäf­tigt. Ursprüng­lich wurde ich mal durch Patrick dar­auf auf­merk­sam. Für den Ser­ver ist nicht mehr wie der Apa­che sowie das Sub­ver­sion Paket nötig. Ich habe hierzu bei­spiels­weise einen Ubuntu-Server verwendet.

Ist der Ser­ver ein­mal soweit ein­ge­rich­tet benö­tigt man die ent­spre­chende Soft­ware auf dem Cli­ent. Unter Linux rei­chen die Command-Line Uti­li­ties, für Win­dows finde ich Tor­toise SVN ganz prak­tisch. Inte­griert sich in das Win­dows Kon­text­menü und bie­tet die Mög­lich­keit die ein­zel­nen Befehle direkt von dort aus­zu­füh­ren. Zudem sieht man anhand der Icons im Explo­rer gleich den ent­spre­chen­den SVN-Status (added, modi­fied, nor­mal, …) der Dateien.

Anschlies­send müs­sen nur noch die gewünsch­ten Dateien und Ord­ner in die Ver­si­ons­ver­wal­tung ein­ge­checkt und ein «Working Direc­tory» ange­legt werden.

Ein­satz­mög­lich­kei­ten? Gibt es natür­lich sehr viele. Vor allem bei Ent­wick­lern wer­den sol­che Tools zur Ver­si­ons­ver­wal­tung sehr gerne ein­ge­setzt. Ich schätze es aber auch im Umgang mit Doku­men­ta­tio­nen oder wis­sen­schaft­li­chen Arbei­ten, wel­che ich bei­spiels­weise in der Schule sehr oft schrei­ben muss.

Auch kann ich so in der Schule an einer Arbeit arbei­ten, wel­che sich auf dem USB-Stick befin­det — Zuhause aktua­li­siere (com­mite) ich die Datei dann via Tor­toise und habe dann direkt auch wie­der ein Backup der Datei auf dem SVN-Server und kann spä­ter auf diese ältere Datei­ver­sion zurück­grei­fen, sollte ich sie wie­der benötigen.

Ich bin zwar kein Ent­wick­ler, schreibe aber auch hin und da wie­der mal ein klei­nes Script, da ist das dann natür­lich auch ganz prak­tisch wenn ich auf vor­he­rige Ver­sio­nen zurück­grei­fen kann oder den Chan­ge­log direkt ins SVN aus­la­gern kann.

Auf Google+ habe ich SVN ja auch mal kurz erwähnt und fest­ge­stellt, dass der Trend aktu­ell eher Rich­tung Git (dezen­tra­les Ver­si­ons­ma­nage­ment) geht. Ich bleibe aber nun mal bei SVN, da ich ganz zufrie­den bin so wie es ist.

Wer von euch ver­wen­det ein Sys­tem zur Ver­si­ons­ver­wal­tung? Wel­ches? Zu wel­chen Zwecken?

Ähnliche Artikel

ownCloud ausprobiert und Windows 7 Offlinedateien
Wie sieht dein Hosting-Setup aus? (Blogparade)
Eigener Dropbox Server? Zumindest fast!
Mein erster Eindruck vom Parallels Plesk Panel 10
Munin: Server überwachen und Auslastung aufzeichnen

18 Kommentare

  1. Christoph (08/09/2011) Antworten

    Hatte bei mir auf der Seite vor ein paar Mona­ten was zu «por­ta­ble Sub­ver­sion Ser­ver» geschrie­ben, bzw. wie rela­tiv ein­fach einer erstellt wer­den kann. Find ich für zuhause recht prak­tisch. Ansons­ten in der Firma ganz klar Sub­ver­sion — ohne Ver­si­ons­ver­wal­tung geht es ein­fach nicht.

  2. Maximilian (09/09/2011) Antworten

    Wer für einen Win­dows PC einen SVN Ser­ver sucht, dem kann ich den Visual SVN Ser­ver (http://visualsvn.com) emp­feh­len. Kos­tet in der Stan­dard­ver­sion nichts und läßt sich gut Admi­nis­trie­ren.
    Ich nutze SVN selbst für meine Ent­wick­lungs­pro­jekte und bin damit eigent­lich zufrie­den. Habe mir vor eini­ger Zeit auch mal GIT ange­schaut, bin damit aber nicht so recht warm geworden.

    Cheers

  3. Patrick (09/09/2011) Antworten

    Für Sub­ver­sion braucht man nicht­mal den Apa­che Web­ser­ver. Der ist nur dann nötig, wenn man Sub­ver­sion per HTTP-Protokoll erreich­bar machen möchte (somit kann ich z.B. Sper­ren unse­rer Firmen-Firewall umgehen).

    Ohne Apa­che benutzt man ein­fach den Befehl/Dienst svn­serve mit enspre­chen­den Parametern.

    • Jeffrey (09/09/2011)

      Finde HTTP aus dem von dir erwähn­ten Grund ganz prak­tisch. Wobei ich auf dem ent­spre­chen­den Ser­ver aktu­ell nur den SSH Port offen habe.

      Den Rest mache ich dann direkt via SSH-Tunnel und Zugriff via local­host. Funk­tio­niert sehr gut und ich kann ohne Beden­ken auch in frem­den Netz­wer­ken dar­auf zugreifen.

  4. Silvan (09/09/2011) Antworten

    Ich ver­wende eben­falls Sub­ver­sion, ohne gehts nicht mehr. Ich bin ein­fach zu faul die unter­schied­li­chen Ver­sio­nen auf den Com­pu­ters zusam­men­zu­su­chen und ich will meine Daten online ver­füg­bar haben. Hier ist meine Anlei­tung, wie man sich auf einem Ser­ver mit Debian Sub­ver­sion ein­rich­ten und kon­fi­gu­rie­ren kann: http://blog.root1024.ch/netzwerk/subversion-svn-einrichten-v.….n-a-bis-z/

  5. Olli (11/09/2011) Antworten

    Man kann mit Ver­si­ons­ver­wal­tun­gen auch ganz gut die Kon­fi­gu­ra­ti­ons­da­teien von Unix/Linus-Systemen sichern… ist ins­be­son­dere hilf­reich, wenn man irgend­was kaputtoptimiert ;)

    Achja, ich nutze auch haupt­säch­lich SVN, weil ich dafür mal n pas­sen­den Ser­ver ein­ge­rich­tet hab (inkl. Trac), damit macht das ent­wi­ckeln in der Gruppe gleich viel mehr Spass und mit ein paar Spiel­re­geln, geht auch fast nichts schief :)

    • Jeffrey (12/09/2011)

      Super Idee mit den Kon­fi­gu­ra­ti­ons­da­teien! Habe ich mir bis jetzt noch gar nicht über­legt, kann ich mir bei mir aber auch sehr gut vorstellen.

      Wie machst du das genau? Ein­fach im ent­spre­chen­den Ord­ner mit den Config-Files einen bestimm­ten Ord­ner aus einem SVN-Projekt auschecken?

    • Patrick (12/09/2011)

      Ein­fach den Ord­ner /etc in die Ver­si­ons­ver­wal­tung mit aufnehmen.

  6. Boehrsi (12/09/2011) Antworten

    SVN ist auf jeden Fall eine sehr feine Sache, nutze es seit 2 Jah­ren (Beginn mei­nes Stu­di­ums) und seit eini­ger Zeit auch pri­vat. Ist extrem prak­tisch alles immer dabei zu haben und das vor allem in den jeweils aktu­ells­ten Ver­sio­nen.
    Wobei ich es zum Groß­teil für auf­wen­di­gere Dinge nutze und z.B. sim­ple Doku­mente eher via Google Docs all­ge­mein ver­füg­bar mache.

  7. Gerald (17/09/2011) Antworten

    Hi Jef­frey,

    mit wel­chem Pro­gramm bzw. wel­chem Datei­for­mat schreibst du deine Doku­men­ta­tio­nen und Arbei­ten? Für doc und odt Dateien ist SVN mei­nes Wis­sens nicht geeig­net, oder?

    Viele Grüße,
    Gerald

    • Jeffrey (17/09/2011)

      Meine Doku­men­ta­tio­nen schreibe ich meist im docx For­mat (Word 2010). SVN kommt bei mir bis jetzt sehr gut zurecht damit.

      Zusam­men mit Tor­toise SVN funk­tio­niert auch das Ver­glei­chen von ver­schie­de­nen Datei­ver­sio­nen ganz gut. Es wird dabei direkt die Word interne Vergleichs-Funktion verwendet.

      Warum denkst du, dass es Pro­bleme geben könnte? Mei­ner Mei­nung nach kann man jeg­li­che Datei­ty­pen im SVN ablegen.

    • Gerald (17/09/2011)

      Ich kannte SVN bis­her nur für Coding, wel­ches ja im plain text for­mat vor­liegt. Das sogar ein inhalt­li­cher Ver­gleich des pro­prie­tä­ren docx For­mats mög­lich ist, hatte ich nicht erwar­tet. Das werde ich auch mal testen!

      Nur mal inter­es­se­hal­ber: Ist dein Ubuntu Ser­ver ein eige­ner phy­si­ka­li­scher Rech­ner oder hast du den als vir­tu­elle Maschine auf dem sel­ben Com­pu­ter laufen?

    • Jeffrey (17/09/2011)

      Im Bei­spiel mit dem docx-Format wird der Inhalt ja nicht direkt von SVN sel­ber, son­dern von Word ver­gli­chen. Das SVN stellt dazu nur die bei­den zu ver­glei­chen­den Datei­ver­sio­nen zur Ver­fü­gung, die dann von Tor­toise an Word über­ge­ben und dort ver­gli­chen werden.

      Mein Ubuntu Ser­ver steht in der Cloud (Host­Eu­rope) und wird unter ande­rem für SVN ver­wen­det. Dar­über sichere ich aber bei­spiels­weise auch mei­nen Web­ser­ver (eben­falls bei HostEurope).

      http://infoblog.li/hosteurope-es-gibt-nicht-nur-schlechte-ho.….-anbieter/
      http://infoblog.li/mein-erster-eindruck-vom-parallels-plesk-.….panel-10/

  8. Thu Marlo (21/11/2011) Antworten

    Hallo,

    ich würde SVN auch gerne mal aus­pro­bie­ren, aller­dings brauch ich die Daten nicht im Inter­net. Kann ich mir das auch lokal ein­rich­ten? Wenn ja wie, hast du da einen guten Arti­kel dazu?

    Grüße & Danke

    • Jeffrey (21/11/2011)

      Ja, das ist pro­blem­los mög­lich. Das Ein­zige, was du benö­tigst ist ein Linux-Server, der irgendwo bei dir im Netz­werk steht. Dort muss dann der SVN-Dienst bzw. der Apa­che laufen.

      Eine ent­spre­chende Anlei­tung habe ich im Bei­trag oben (zuge­ge­ben, ver­steckt) ver­linkt. Im Ubun­tu­Wiki gibt es Tipps zu dem Thema: http://wiki.ubuntuusers.de/subversion

    • Thu Marlo (21/11/2011)

      Danke soweit,
      ist das auch unter MacOS möglich?

      Grüße

  9. Patrick (21/11/2011) Antworten

    Es gibt bestimmt auch einen Sub­ver­sion Ser­ver für Mac OS. Falls nicht, könn­test du dir mal Git anschauen.

Beitrag kommentieren

Kommentieren ohne Angabe von Name und E-Mail Adresse möglich. Kommentare werden moderiert. Spam und Offtopic wird gelöscht.