HowTo: Subversion/SVN, Windows & Visual Studio

imageWer als Versionsverwaltung SVN/Subversion einsetzt, der kann auch unter Windows mit Visual Studio gut arbeiten. Die Tools gibt es kostenlos bzw. auch kostenpflichtig. Erste Anlaufquellen (für die kostenlose Variante) für mich: Tortoise SVN & Ankh SVN. In diesem Blogpost geht es um eine kurze Einführung in SVN & die beiden Tools.

SVN Hosting

Wer sich nicht selber einen Server hinstellen möchte, der kann für sich für eine der vielen Hostinganbieter entscheiden. Wer ein Open Source Projekt plant, kann sich für Codeplex, Google Code, Source Forge etc. den passenden raussuchen. Im Closed Source Bereich kann ich persönlich CVSDude oder Assembla empfehlen.

SVN Server

Wer SVN selber hosten möchte, der sollte am besten ein Blick auf VisualSVN (Server) werfen. Ich denke einfacher wird es unter Windows nicht gehen.

Tortoise SVN – Integration in den Windows Explorer

Tortoise integriert sich direkt in den Windows Explorer. Nach der Installation findet man bei einem Rechtsklick immer folgende Optionen:

image 

Schritt für Schritt

Bitte zuerst Tortoise SVN & Ankh SVN installieren.

Schritt 1: Subversion Repository URL kopieren

Wo auch immer der SVN Server steht, man braucht erstmal die URL vom Repository.

Schritt 2: Ordner erstellen und SVN Checkout

image

Schritt 3: Im Visual Studio Projekt anlegen.

Durch den Checkout Prozess wird ein verstecker Ordner in dem “Checkout Dir” .svn angelegt. Ankh SVN ließt dies aus und zeigt dann bereits ein paar Symbole an. Hier ein Beispiel aus einem aktuellen Projekt:

image

Achtet immer darauf, dass alle Files ein grünes Häckchen davor haben. Falls dies fehlt über Rechtsklick-> “Add” fügt ihr es dem Repository zu.

Schritt 4: Änderungen machen

Wenn Änderungen gemacht werden, ändert sich das Symbol im Visual Studio und über das Context Menü “Commit” kann man dies wieder einchecken.

image

image

Um die letzten Änderungen zu holen reicht ein “Update…”. Wenn die Änderungen nicht so gut waren, reicht ein “Revert”.

Manchmal eine kleine Zicke!

Vielleicht habe ich auch nur Pech, aber manchmal kann auch was schief laufen. Insbesondere beim Mergen sollte man aufpassen, da im Default beide Varianten in den Code reingepackt werden. Es gibt spezielle Merge Tools um dies nicht händisch zu entfernen. Einfach im Context Menü mal suchen. Ansonsten kann dies beim ersten Mal sehr nervig sein ;)

Eincheck & Files holen geht auch direkt über Tortoise, allerdings ist dies nicht so komfortabel.

Wenn man sich daran gewöhnt, ist es eigentlich recht komfortabel.

VisualSVN

Ein etwas besseres Tool als Ankh SVN soll VisualSVN sein, allerdings kostet dieses Programm etwas, daher hatte ich am Anfang kein Blick drauf geworfen und momentan bin ich mit Ankh recht zufrieden.

Fazit: Visual Studio & SVN – funktioniert mit den passenden Tools sehr gut :)


Kick It auf dotnet-kicks.de
Wenn dir der Blogpost gefallen hat, dann hinterlasse doch einen Kommentar. Wenn du auf dem Laufenden bleiben willst, abonniere unseren RSS Feed oder folge uns auf Twitter.

About the author

Written by Robert Mühsig

Robert Mühsig (@robert0muehsig) ist Webentwickler und beschäftigt sich mit Web-Frameworks (vor allem dem ASP.NET MVC Framework) und scheut sich auch nicht vor Javascript. Ansonsten bloggt er über all jene Probleme, die ihm über den Weg laufen. Seit 2008 ist er Microsoft MVP für ASP.NET und er arbeitet bei der T-Systems Multimedia Solutions GmbH in Dresden. Treffen kann man ihn online via Twitter (@robert0muehsig) oder dieser Seite oder bei der .NET User Group Dresden.

11 Responses

  1. Salute Robert

    Für Visual SVN gibts Lizenzen für MVPs, einfach in den Private Newsgroups nachgucken.
    Lohnt sich auf jeden Fall.

    Reply
  2. Mist, wusst ichs doch, das ich dir das schon mal als Kommentar geschrieben habe :)

    Reply
  3. Hi Robert,
    danke für den Artikel.
    Ich verwende VisualSVN zwar nur privat, aber die 38 Euro waren gut investiert. Die Integration ist richtig super!
    Grüße,
    Bernd

    Reply
  4. Ich kann VisualSVN auch nur empfehlen. Die Integration in VS ist – meiner Meinung nach – um Weiten besser als die von Ankh. Und da es “nur” die Tortoise-Dialoge wiederverwendet, muss man sich auch nicht umgewöhnen.

    Reply
  5. Wer einen kostenlosen closed-code-SVN-Server sucht, dem empfehle ich ProjectLocker: http://www.projectlocker.com/ Hat auch ein TRAC integriert.

    Ansonsten danke für den Artikel. Tja, jetzt bin ich aber echt am überlegen, ob ich mir VisualSVN zulegen soll. Andererseits hab ich noch nicht viel Erfahrung mit SVN und Co., da reicht zum Testen vielleicht auch erstmal Ankh …!?

    Reply
  6. Hallo Micha

    Zum testen reicht auch nur Tortoise SVN :-)
    Aber mit Ankh ist es natürlich um einiges angenehmer.

    Reply
  7. Der Ankh-SVN hat in der neuen Version immer noch ein paar Macken, vor allem wenn es um das umbenennen von Dateien (Groß/Klein Schreibung) geht, und man zwischendrin vergisst einen Commit auszuführen, gibts ein paar Probleme (die aber leicht zu lösen sind)

    Reply
  8. Ich möchte Deine kleine Tool-Sammlung rund um SVN noch etwas anreichern: SVN-Monitor (http://www.svnmonitor.com).!

    Das Tool von Adrian ist absolut grandios für die Entwicklung im Team. Es checkt SVN-Repositories in regelmäßigen Abständen und listet neue Commits detailliert auf.

    Reply
  9. Hallo,
    wir möchten Visual SVN (http://www.visualsvn.com) bei uns in der Firma einsetzen. Leider ist auf der Web Site kein Hinweis auf den Hersteller zu finden. Weiss jemand wer der Hersteller von Visual SVN ist und wo der Sitz der Firma ist?

    Als Provider (closed-code-SVN-Server) können wir empfehlen: http://www.qwws.net/

    Reply
  10. Fyodor Sheremetyev ist Mitgründer der Fa. VisualSVN Ltd.

    http://www.linkedin.com/in/sheremetyev
    http://whois.domaintools.com/visualsvn.com

    Aber warum auf der Website von VisualSVN keine Adresse genannt wird, ist mir immer noch nicht klar.

    Reply

Comment on this post

Letzte Posts

  • image.png
    RavenHQ–RavenDB in der Cloud

    Ayende Rahien hat es heute verkündet – RavenHQ, der RavenDB Cloud Hoster (natürlich von und mit Ayende) ist ab heute raus aus der Beta und man kann es von überall aus nutzen. In der Betaphase waren nur Nutzer von AppHarbor zugelassen. Was ist RavenHQ? RavenHQ ist im Grunde ein gehostes RavenDB in den Rechenzentren von ...

  • image.png
    GitHub for Windows–erste Eindrücke

    Git ist schon eine tolle Sachen und eröffnet viele neue Möglichkeiten – allerdings ist der Einstieg recht hart und selbst wenn man die guten Hilfsanleitungen auf GitHub befolgt, kommt man am Anfang nur langsam vorwärt. Insbesondere ist das Tooling für Windows / .NET Entwickler auch nicht gerade “bekanntes Terrain”. GitHub to the rescue! Die GitHub ...

  • image.png
    Chocolatey–apt-get für Windows

    Durch Zufall bin ich auf das Tool “Chocolatey” gestoßen. Wer die Website sich anschaut, wird evtl. eine Verwandschaft mit NuGet ausmachen. Was macht Chocolatey? Chocolatey ist ein “Maschine Package Manager”, das bedeutet, dass man für seine Maschine einfach Tools runterladen und Updaten kann – direkt über die Konsole. Was ist der Unterschied zu NuGet? NuGet ...

  • image.png
    SASS, LESS & Coffeescript in Visual Studio mit der Web Workbench

    CSS und Javascript sind die “kleinste” Schnittmenge von allen Browsern für die Erstellung von Web-Applikationen. Leider geht dabei etwas komfort verloren, daher lieben alle Webentwickler jQuery! SASS und LESS sind zwei Varianten, wie man “schöner” CSS schreiben kann und Coffeescript versucht Javascript Entwicklung zu vereinfachen. Aber immer der Reihe nach… Was ist SASS? SASS steht ...

  • image.png
    Code-Inside Sample nun auf GitHub: Google Code zu GitHub Migration

    Seit einiger Zeit habe ich Beispielcode auf Google Code bereitgestellt. Einfach nur noch weg von Google Code O-Ton damals war: Ich hatte mich für Google Code entschieden, weil ich hoffe dass früher oder später die Google Code Suche nutzbar ist und es dadurch wenigstens ein kleiner Mehrwert entsteht. Allerdings wirft es momentan noch ein Fehler. ...

Auf Amazon einkaufen & unterstützen

Facebook