(Eine kleine Abschweifung vom Thema PL/SQL)
Vor ein paar Jahren war ich noch mächtig stolz auf mein Heim-Netzwerk mit eigenen DNS-, NIS-, NFS-, Samba- und Mailserver – obwohl ich nie Administrator werden wollte. Und was hilft mir ein schöner heimischer Dateiserver, wenn ich ihn entweder nicht von meinem Büro aus erreiche oder meine Firewall durchlöchern muss. Mal abgesehen davon, dass das Ding die ganze Zeit völlig unökologisch Strom verbraucht. Auch das Backup ist lästig und wehe, meine Backup-Platte gibt den Geist auf.
Sehr bequem für das Arbeiten von irgendwo und evtl. auch keine schlechte Backup-Lösung sind Online-Speicher, wie sie jeder DSL-Provider und andere Dienste im Programm haben. Nur leider nicht für die sensiblen Daten, die man nicht wildfremden Administratoren und wer weiß wem noch anvertrauen möchte. Solche Daten müssen verschlüsselt ins Netz.
Bei der Suche nach derartigen Lösungen bin ich kurz über TeamDrive gestolpert (bestimmt nicht schlecht, wollte aber nicht so recht auf meinen Linuxen), um dann bei Wuala zu landen. Wuala, gesprochen wie das französische Voila, ist in Java implementiert, was ich sympathisch finde. Das eine Gigabyte, das man in der kostenlosen Version zur Verfügung hat, kann man unter anderem erweitern, in dem man eigenen Plattenplatz zur Verfügung stellt – muss ich aber noch ausprobieren. Sehr schön ist auch die integrierte Versionsverwaltung, mit der auf frühere Stände der Dateien zugegriffen werden kann. Weitere Features wie Backup, Sync(hronisation) und Team-Arbeit beschreibt die Webseite des Projekts.
Die Versionierung gefällt mir als Entwickler gut, reicht aber natürlich nicht an die Fähigkeiten einer echten Versionsverwaltung a la CVS, SVN, Git, Microsofts Team Foundation Server usw. heran. Sowas brauche ich aber auch, und da ich CVS und SVN aus den vergangenen Jahren recht gut kenne, habe ich mich jetzt an Git herangetraut, das dem Gedanken entkoppelt und autonom von verschiedenen Rechnern aus zu arbeiten näher kommt als die traditionellen zentralen Repositories von CVS und SVN.
Jetzt habe ich auf zwei Rechnern jeweils ein vollständiges Repository und add’e, remove, update und commit’e angenehm mit der gut gelungenen, hilfreichen Kommandozeile von git (also verglichen mit cvs und svn). Auch die neue Eclipse-Version Indigo bietet einen Git-Connector für die Team-Synchronisation an.
Ein zentrales Repository braucht es aber schon, damit ich die beiden lokalen miteinander synchronisieren kann. Anbieter dafür gibt es viele (s. Git-Hosting im Wiki des Git-Projekts), ich bin letzendlich bei ProjectLocker gelandet, das niedrigere Hürden hat als bspw. Open-Source-Plattformen wie SourceForge oder komplettere Continuous Integration-Dienste wie CloudBees (besonders für Java-Enterprise-Entwicklung interessant), Beanstalk, Freepository, Origo und andere – bzw. mit dem ich am schnellsten klarkam.