Subversion wurde in Netbeans integriert (ab Version 5.5). Details finden sich auf der Projekt-Homepage. Roman Strobl zeigt in seiner Flash-Demo dessen Anwendung.
Installation
Als erstes installiert man die Komandozeilen-Tools von Subversion. Diese sind unter http://subversion.tigris.org zu finden.
Der Subversion-Support für die Netbeans-IDE kann einfach per Tools/Update Center nachinstalliert werden. Die notwendigen Module finden sich im Abschnitt Feature.
Zum Schluss kann man (vorausgesetzt man benötigt es nicht) das CVS Menü entfernen. Unter Tools/Options/Advanced Options kann man im Bereich IDE Configuration/Look and Feel/Menu das CVS Menü mit der rechten Maustaste anklicken und entfernen (Delete).
Projekt Import
Lokale Projekte können einfach per Kontextmenü im Subversion-Reporitory überstellen werden. Dazu klickt man in der Ansicht Projects den Projektname mit der rechten Maustaste an und wählt: Subversion/Import into Subversion.
Nach dem man die Zugriffsart und Anmeldung für das Repository eingegeben hat, kann man mit Next auf die nächste Seite des Assistenten wechseln. Dort gibt man das Verzeichnis (trunk entspricht dem aktuellen Entwicklungsstand) und Nachricht (entspricht dem Logging-Information) an.
Auf der letzen Seite zeigt der Assisenten alle Dateien an, welche in das Repository überstellt werden. Wichtig ist die zweite Spalte, welche man bei Fehler korregieren kann, denn diese zeigt den Typ der Datei an (Binary oder Text).
Die Output-Ansicht zeigt den Fortschritt des Uploads. In der Ansicht Projects ist zunächst keine Änderung festzustellen. Diese kommen erst, wenn man Dateien ändert (siehe unten).
Projekt Checkout
Möchte man eine lokale Kopie eines in Subversion verwalteten Projekts anlegen, benutzt man den Menüpunkt Subversion/Checkout. Die Anmeldeinformationen entsprechen denen eines Projekt-Imports (siehe oben).
Die Auswahl des Repository-Ordners ist nun durch die Revisions-Angabe ergänzt. Diese kann leer bleiben, wenn man den aktuellen Stand laden möchte. Die Eingabe Local Folder entspricht dem Verzeichnis, in dem das neue Projekt angelegt wird (z.B. C:\Entwicklung\Projekte).
In der Ansicht Output kann der Fortschritt des Downloads verfolgt werden. Am Ende erscheint eine Dialog mit dessen Hilfe das angelegte Projekt geöffnet werden kann.
Wie beim Import ist auch nach dem Checkout keine direkte Änderung (z.B. in der Ansicht Projects) zu erkennen. Schaut man sich jedoch die Ordner mit dem Dateiexplorer an, kann man die neuen Verwaltungsordner .svn von Subversion sehen.
Änderungen aktualisieren
Netbeans zeigt die Änderungen auf verschiedene Artene an:
- eine Markierung an Projekten, Ordnern und Paketen besagt das sich etwas an den enthaltenen Dateien geändert hat
- einzelne Dateien machen duch farbige Bezeichener auf ihre Änderungen aufmerksam
- mit dem Diff Befehl können schnell Änderungen einzelner Dateien, von Paketen, Ordnern oder Projekten sichbar gemacht werden
- die Subversion-Ansicht gibt einen direkten Überblick über Änderungen, neue oder gelöschte Dateien des aktuellen Ordners
Eine blaue Markierung zeigt an, das sich in dem Knoten (Projekt, Ordner oder Paket) Dateien geänderte haben oder neue Dateien hinzugekommen sind.
Eine rote Markierung weißt auf Konflikte im entsprechenden Knoten hin.
Ein blauer Bezeichner besagt, das die Datei in der lokalen Projekt-Arbeitskopie geändert wurde.
Konflikte werden mit einem roten Bezeichner angezeigt. In der Datei findet sich dann eine Bereich, der mit <<<<< und >>>>> eingeschlossen ist. Über das Kontextmenü der jeweiligen Datei kann man mit Subversion/Resolve Conflicts Problem für Problem durchgehen und lösen.
Mit einem grauen Bezeichner werden alle Dateien gekennzeichnet die von Subversion ignoriert werden. Keines der Subversion-Kommandos beachtet diese Dateien.
Neue Dateien im lokalen Arbeitsverzeichnis werden mit einem grünen Bezeichner kenntlich gemacht.
Der blaue und durchgestrichene Bezeichner zeigt Dateien an, welche der alleine der Commit-Befehl ignoriert. Alle anderen Befehle (z.B. Update) werden normal auf diese Dateien angewendet.
In der Subversion-Ansicht werden alle Änderungen übersichtlich dargestellt. Man erreicht sie über das Kontextmenü vom Projekts Subversion/Show Changes.
Das Subversion-Fenster aktualisiert sich während der Arbeit am Projekt selbständig und zeigt folgende an:
- alle lokal veränderten, hinzugefügten und gelöschten Dateien
- alle veränderten, neu angelegten oder gelöschten Dateien im Repository
- sowie alle Dateien die beim zusammenführen einen Konflikt auslösen
Mit den Schaltflächen Local oder Remote kann die Ansicht gefiltert werden.
Über einen Rechtsklick stehen weitere Kommandos zur Verfügung (z.B. die Historie oder die Möglichkeit Änderungen zurück zu nehmen).
Mit können alle Updates und mit alle Commits ausgelöst werden.
Doppelklickt man eine Datei, werden deren Änderungen im Source Editor angezeigt. Mit kann man die Änderungen zur ursprünglichen Version (Base) vergleichen.
Wenn man die Änderungen ins Repository überspielen möchte, geht dies am besten mit einem Rechtsklick auf das Projekt Subversion/Commit. Damit werden alle lokalen Projektänderungen in das Repository überstellt.