
Wie Ihnen eine kleine Schildkröte die Arbeit erleichtert.
Bei meiner kleinen Umfrage zeichnen sich ja mittlerweile sehr interessante Ergebnisse ab. Auch die zahlreichen direkten Zuschriften haben mich teilweise sehr verblüfft. Falls Sie bei dem kleinen Voting noch nicht teilgenommen haben, würde ich Sie bitten, dies noch nachzuholen. Es kommt im Endeffekt auch Ihnen zugute.
Obwohl diese nun noch bis Freitag läuft, habe ich mich nun dazu entschlossen, einen Beitrag zum Thema Programmierung zu veröffentlichen. Anhand einer kleinen Videodemonstration werde ich Ihnen ein Tool vorstellen, welches ich persönlich nicht mehr missen möchte.
Die Rede ist von TortoiseSVN. Eine Software, welche normalerweise zur Quellcode- und Versionsverwaltung in der Programmierung eingesetzt wird. Besser gesagt ist Tortoise eine grafische Benutzeroberfläche für Subversion und versteht sich als Weiterentwicklung von CVS.
Doch wofür braucht man denn nun eine solche Versionsverwaltung?
Dies hat mehrere Gründe. Nehmen wir als Beispiel doch einfach mal die für diesen Blog verwendete Software “WordPress”. Laut eigenen Aussagen der Entwickler wird diese Software von und für die Community entwickelt. Nun stellen Sie sich vor, dass Entwickler A in Italien, B in den USA und C in Deutschland lebt. Nun muss natürlich die ganze Arbeit irgendwo zentral abgelegt werden. Und genau da kommt Subversion ins Spiel.
Der Subversion-Server steht also irgendwo zentral im Internet. Subversion arbeitet nach dem Prinzip Projektarchiv (das Repository) und Arbeitskopie. Dies funktioniert so: Entwickler A holt sich einmalig den aktuellen Stand aus dem Projektarchiv auf seinen eigenen Rechner. Nun arbeitet er lokal mit der Arbeitskopie. Nachdem er fertig ist und alles sauber läuft, überträgt er den aktuellen Stand wieder ins Projektarchiv. Er fügt dann noch einen Logeintrag mit an, damit auch jeder nachvollziehen kann, was er geändert hat (Bug gefixt, Neue Features etc.).
Falls ein anderer Entwickler bereits Änderungen an der selben Datei eingepflegt hat, wird ihm von Subversion eine Kollision gemeldet. Programmierer A hat nun die Möglichkeit die Kollision auszubügeln.
Entwickler B arbeitet erst am nächsten Tag wieder am Quellcode. Da er bereits eine Arbeitskopie auf seinem Rechner hat, muss er diese nur noch mit den Änderungen im Projektarchiv abgleichen (aktualisieren). Dies funktioniert mit TortoiseSVN mit höchsten zwei Mausklicks. Alles andere erledigt die Software von alleine.
Jedes Mal wenn Änderungen ins Archiv übertragen werden, erzeugt Subversion automatisch eine Versionsnummer. Die sogenannte Revision oder abgekürzt rev. So können Änderungen jederzeit nachvollzogen oder sogar rückgängig gemacht werden.
TortoiseSVN erleichtert Ihnen arbeiten mit Subversion um ein vielfaches!
Diese Software, welche normalerweise zur Programmierung verwendet wird, ist leicht installiert. Auf der Downloadseite können Sie zwischen zwei Varianten wählen: 32 oder 64 Bit. Zudem finden Sie dort die deutschen Sprachdateien. Nach dem Download starten Sie zuerst die Installationsroutine von TortoiseSVN. Nach einem Rechnerneustart steht Ihnen die Schildkröte über das sog. Kontextmenü (rechte Maustaste) auf allen Ordnern zur Verfügung. Nun können Sie auch die deutsche Sprachdatei installieren.
Im nachfolgenden Video möchte ich Ihnen das Grundprinzip von Projektarchiv (Repository) und Arbeitskopie kurz erläutern. Bitte sehen Sie es mir nach, dass ich nur eine einfache Textdatei verwende. Ich habe bewusst auf Quellcode aus der Programmierung verzichtet.
Wie Sie gesehen haben, lege ich für jedes Projekt zuallererst drei Ordner an. Dies möchte ich an dieser Stelle nochmal kurz erläutern. Der Ordner “trunk” enthält den eigentlichen Entwicklungszweig. Dies ist der Hauptordner. Der Ordner “tags” wird für die Kennzeichnung von bestimmten Versionen verwendet. Also angenommen eine stabile Version 1.0 von einer Software wird veröffentlicht, dann wird dieser Entwicklungsstand mit Hilfe von Tortoise speziell gekennzeichnet. Subversion setzt dann einen Zeiger auf diesen Stand.
Der Ordner “branches” wird verwendet, wenn von dem aktuellen Entwicklungsstand in “trunk” abgezweigt werden muss. Beispiel: Für Version 1.0 müssen Bugs gefixt werden. Daraus wird dann Version 1.1, 1.2 usw. Gleichzeitig wird aber an Version 2.0 gearbeitet. Die Versionen für den Bugfix werden somit einfach ab 1.0 in einem Branch geführt. Bevor dann die stabile Version 2.0 veröffentlicht wird, fügt man mit Hilfe von TortoiseSVN alles wieder zusammen (merge).
Ich persönlich lege diese Ordner immer an. Egal ob ich Sie brauche oder nicht.
Subversion in Verbindung mit Tortoise kann man nicht nur für die Programmierung verwenden. Beispielsweise hab ich beim Schreiben von dem Buch zum Blog auch damit gearbeitet.
Wenn Sie die deutsche Sprachdatei installiert haben, bringt die Schildkröte auch eine meiner Meinung nach sehr verständlich geschriebene Hilfe mit. Dort wird auch erläutert, wie man Subversion ganz einfach in einen Apache Webserver integriert. Wenn Sie sich einmal einen lokalen Webserver incl. Datenbank installieren möchten, empfehle ich Ihnen XAMPP. Vielleicht gehe ich in einen späteren Beitrag mal näher darauf ein.
Dies ist nun das Grundprinzip einer Versionsverwaltung. Subversion und TortoiseSVN können noch einiges mehr und beide werden ständig weiter entwickelt.
Haben Sie schon Erfahrung mit einer anderen Versionsverwaltung?
Welche Anwendungsmöglichkeiten hätten Sie für Ihren Bereich?
Ich freue mich über jeden Kommentar!
Besucher dieser Seite haben auch nach folgenden Begriffen gesucht:
versionsverwaltung, versionsverwaltung freeware, software versionsverwaltung, programmierung versionierung, versionsverwaltung subversion, svn programmierung, versionierung programmierung, subversion quellcode, software versionsverwaltung freeware, tipps versionierung quellcode, versionsverwaltung mit subversion, versionsverwaltung free, programmieren versionierung, freewaresubversion, subversion programmierung, kostenloses versionsverwaltung, versionsverwaltung lokal, wordpress blog mit svn verwalten, svn version im code, SVN Quellcode, svn wie software verwalten, webserver mit subversion verwalten, tortoisesvn sprachpaket nicht auswählen, versionsverwartung freeware schildkröte, versionierung software, versionsverwaltung ohne server, versionsverwaltung mit svn, versionierung software programmieren, versionsverwaltung kostenlos, svn programmieren, "subversion versionsnummer" in code, programmieren änderungen versionen, programm zur versionsverwaltung, prinzip subversion, luka programmiersprache, freeware versionsverwaltung, free versionsverwaltung, excel versionsverwaltung SVN, programmieren versionsverwaltung, programmierung versionen, svn als softwareverwaltung, git lokal verteilt, sourcecode versionierung oo, softwareentwicklung versionsverwaltung, software versionsverwaltung lokal, software versionsverwaltung kostenlos, software versionenverwaltung, quellcode versionsverwaltung, bugtracker tortoisesvn lokal reinrichtenKeine ähnlichen Beiträge vorhanden.
The newest generation of autoblogging programmes.





RT @pctipps: Neuer Blogeintrag: Programmierung: Quellcode Versionsverwaltung mit Subversion http://bit.ly/d3DfwK
RT @pctipps: Neuer Blogeintrag: Programmierung: Quellcode Versionsverwaltung mit Subversion http://bit.ly/d3DfwK
RT @pctipps Neuer Blogeintrag: Programmierung: Quellcode Versionsverwaltung mit Subversion http://bit.ly/d3DfwK
RT @pctipps: Neuer Blogeintrag: Programmierung: Quellcode Versionsverwaltung mit Subversion http://bit.ly/d3DfwK
Ich hab das Drecksprogramm bereits 2x installiert gehabt um Quelltext von Sourceforge runterladen zu können, das einzige was es aber gemacht hat, es müllte mir die Registry und das Kontextmenü zu.
Tortoise ist in meinen Augen ein total überbewertetes Programm… usability ist den Entwicklern ein Fremdwort. oO
Twitter: pctipps
@sieber
TortoiseSVN funktioniert nun mal nur über das Kontextmenü. Dafür ist es auch notwendig, dass Einträge in die Registry gemacht werden.
Brauchen Sie vielleicht Hilfe bei der Einrichtung?
Nicht verpassen!: Programmierung: Quellcode Versionsverwaltung mit Subversion http://bit.ly/d3DfwK( via @pctipps )
Twitter: ulfklose
Subversion hat einen gigantischen Nachteil (korrigiere mich, wenn ich falsch liege): ohne Server nix los. Wenn ich keinen (zentralen) Server in der Gegend rumstehen hab, kann ich auch kein Subversion nutzen. Moderne Systeme sind dezentral, Git gehört dazu. Zugegeben, die Integration von Git in Windows steckt noch in den Kinderschuhen, wer ein UNIXoides Betriebssystem verwendet dürfte mit Git aber wirklich sehr glücklich werden.
Wo der Unterschied liegt? Git braucht keinen Server, da es seine Repositorys auch lokal verwalten kann. Ein einfaches „git init“ im Projektverzeichnis genügt, schon wirkt die Git-Magie. Ein „git add .“ fügt alle Elemente im Verzeichnis zum Repository hinzu und ein „git commit -m “Commit-Kommentar”“ erstellt einen lokalen Commit. Nämlich nicht nur wer verteilt entwickelt, sollte seine Arbeit versionieren. Auch Einzelkämpfer sind gut daran beraten, ihre Arbeit zu versionieren um bösen Überraschungen vorzubeugen. Will man sich dann mitten im Entwicklungsprozess doch noch Hilfe von einem zweiten (oder dritten, vierten…) holen, ist das auch kein Problem, da man auch später noch eine zusätzliche Verwaltung über einen Server einrichten kann.
Twitter: pctipps
Hallo Ulf,
danke für Deinen Kommentar. Ich muss Dich tatsächlich korrigieren, denn ich arbeite hier lokal ohne Server
Zugegeben: Git würde mich auch schon mal reizen. Zumal ich ein großer Fan von Linus Torvalds und somit natürlich auch von Linux bin. Hab sogar lange Zeit meinen Kernel selbst “gebacken”
Leider konnte sich Linux beim Endanwender dann doch nicht so durchsetzen. So bleibt auch mir fast nix anderes übrig, als mit Windows zu arbeiten.
Warum ich mich seinerzeit schließlich für Subversion entschied, hat vielerlei Gründe: Zum einen musste auch jemand damit umgehen können, der nichts mit Programmierung zu tun hat. Mit TortoiseSVN ein Kinderspiel. Der Server sollte sich obendrein in den Apache Webserver integrieren lassen. Auch dies ist mit SVN durch die mitgelieferten Module ohne Problem machbar.
Obendrein war es wichtig, eine Weboberfläche zu haben und einen Bugtracker zu integrieren. Die Möglichkeit SVN durch sogenannte Hooks zu erweitern ist auch noch ein weiterer Punkt. Damit ist es beispielsweise möglich, bestimmte Personen zu benachrichtigen oder ein Webprojekt automatisch auf einen Server für die Betatester zu publizieren.
Wie dem auch sei. Ich denke mal, man sollte von Projekt zu Projekt entscheiden entscheiden, welche Versionsverwaltung man am Ende verwendet. Und sicherlich ist es zu einem großen Teil eine Glaubensfrage. Ein Python-Anhänger wird wohl sicherlich eher zu Mercurial greifen.
Twitter: ulfklose
OK, das ist mir neu. Ich dachte, man bräuchte unbedingt einen Serverdienst, also meinetwegen auch einen lokal installierten Dienst. Wie initialisiert man denn lokal ein Repository?
Man kann schon mit etwas anderem als dem am weitesten verbreiteten arbeiten, wenn man das nur möchte
. Ich arbeite seit über fünf Jahren mit Mac OS und habe keine Probleme.
Aber zugegeben: die Unterstützung für Git unter Windows ist eher mau. Mit einem nicht-Windows hingegen arbeitet es sich sehr komfortabel mit Git. Und Git ist eben viel schneller als Subversion, sagen wenigstens die Benchmarks.
Twitter: pctipps
Das Erstellen eines lokalen Repository gestaltet sich mit TortoiseSVN recht komfortabel. Einfach ein neues Verzeichnis erstellen und dann darin im Kontextmenü -> TortoiseSVN -> Projektarchiv hier erstellen. Geht auch über nen Kommandozeilen-Befehl: “svnadmin create MyNewRepository”.
TSVN läuft nicht als eigenständiges Programm, sondern klinkt sich ins Kontextmenü von Dateien und Ordnern ein. Entwicklungsumgebungen wie Netbeans oder Eclipse bringen zwar einen eigenen SVN-Client mit. Diese nutze ich allerdings überhaupt nicht.
also ich hab´s mit dem XAMPP versucht und bin begeistert. ist schon eine Arbeitserleichterung….