es gibt immer was neues zu entdecken
Es ist schon wieder eine Weile her das ich was geschrieben hab - vor allem weil es in letzter Zeit wie immer übermäßig viel zu tun gab. Aber wie dem auch sei, letzte Woche bin ich dennoch dazu gekommen mal meinen alten Rechner als Server einzurichten. Das wollte ich eigentlich schon immer mal machen, aber bislang stand er halt nur in der Ecke rum.
In erster Linie soll er natürlich als Backup-Server dienen, da die Datenmengen die es zu sichern gilt zu groß für eine DVD oder gar CD sind. Die entsprechenden Dateien jedesmal manuell zu sichern schied von vorherein aus - sowas funktioniert nicht. Ein Backup muss einfach sein! Am besten so einfach, das man nur auf ein Icon klicken muss und der Rest geht automatisch. Wenn es zu aufwändig ist, dann macht man es nämlich meistens nicht.
Also hab ich mich daran gemacht ein Script zu schreiben. Da immer nur die Änderungen zu sichern sind, bot sich rsync über ssh an. Um nun verschiedene Verzeichnisse auf meinem Rechner mit verschiedenen Verzeichnissen auf dem Server zu synchronisieren sind natürlich mehrere Aufrufe von rsync nötig, wo wir schon zum ersten Problem kommen: man müsste dann jedesmal das Passwort angeben. Das scheidet natürlich aus, weil es im Gegensatz zur Anforderung steht "einfach nur auf ein Icon klicken".
Aber es fand sich recht schnell eine Lösung dafür. Wenn man mit ssh eine public-key-authentication einrichtet, hat man die Möglichkeit die Authentifizierung mit dem Programm ssh-agent abzuwickeln. Man gibt dann nur noch einmal das Passwort an und wird dann für die spezifizierte Zeitspanne nicht mehr danach gefragt. (Wie man das ganze aufsetzt erfährt man hier: http://sial.org/howto/openssh/publickey-auth/#s3 )
Nachdem das mit dem Backup also funktioniert, hab ich mich daran gemacht für meine Projekte subversion auszuprobieren.
Das subversion besser ist als CVS hab ich ja vorher schon mitbekommen. Aber begeistert hat mich vor allem eine Sache: wenn man bei CVS eine Datei hat und fügt, sagen wir mal eine neue Zeile ein. Dann erkennt das ja, das die Datei geändert wurde und markiert die entsprechend. Wenn man diese besagte Zeile dann wieder entfernt, dann ist CVS immer noch der Meinung, das die Datei verändert wurde. Nicht so SVN! Das erkennt, das es nun doch keine Änderungen mehr gibt und markiert die Datei wieder als nicht geändert.
Für die Integration in Eclipse empfehle ich übrigens neben Subclipse unbedingt auch noch SVNKit zu installieren und für Subclipse zu aktivieren (Preferences -> Team -> SVN -> SVN Interface), da man sonst keine Authentifizierungs-details (wie z.B. public-key-authentication) einstellen kann wenn man svn+ssh als Protokoll benutzt.
Wenn im Package-Explorer nicht angezeigt werden sollte ob ein Projekt oder eine Datei geändert ist oder nicht, so liegt das mit Sicherheit daran, das die Label-Decoration für SVN nicht aktiviert ist. Bei mir war sie jedenfalls per Default erst mal deaktiviert! Man muss also noch unter (Preferences -> General -> Appearance -> Label Decoration) einen Haken vor SVN machen.
Das wars erst mal wieder von meiner Seite.
In erster Linie soll er natürlich als Backup-Server dienen, da die Datenmengen die es zu sichern gilt zu groß für eine DVD oder gar CD sind. Die entsprechenden Dateien jedesmal manuell zu sichern schied von vorherein aus - sowas funktioniert nicht. Ein Backup muss einfach sein! Am besten so einfach, das man nur auf ein Icon klicken muss und der Rest geht automatisch. Wenn es zu aufwändig ist, dann macht man es nämlich meistens nicht.
Also hab ich mich daran gemacht ein Script zu schreiben. Da immer nur die Änderungen zu sichern sind, bot sich rsync über ssh an. Um nun verschiedene Verzeichnisse auf meinem Rechner mit verschiedenen Verzeichnissen auf dem Server zu synchronisieren sind natürlich mehrere Aufrufe von rsync nötig, wo wir schon zum ersten Problem kommen: man müsste dann jedesmal das Passwort angeben. Das scheidet natürlich aus, weil es im Gegensatz zur Anforderung steht "einfach nur auf ein Icon klicken".
Aber es fand sich recht schnell eine Lösung dafür. Wenn man mit ssh eine public-key-authentication einrichtet, hat man die Möglichkeit die Authentifizierung mit dem Programm ssh-agent abzuwickeln. Man gibt dann nur noch einmal das Passwort an und wird dann für die spezifizierte Zeitspanne nicht mehr danach gefragt. (Wie man das ganze aufsetzt erfährt man hier: http://sial.org/howto/openssh/publickey-auth/#s3 )
Nachdem das mit dem Backup also funktioniert, hab ich mich daran gemacht für meine Projekte subversion auszuprobieren.
Das subversion besser ist als CVS hab ich ja vorher schon mitbekommen. Aber begeistert hat mich vor allem eine Sache: wenn man bei CVS eine Datei hat und fügt, sagen wir mal eine neue Zeile ein. Dann erkennt das ja, das die Datei geändert wurde und markiert die entsprechend. Wenn man diese besagte Zeile dann wieder entfernt, dann ist CVS immer noch der Meinung, das die Datei verändert wurde. Nicht so SVN! Das erkennt, das es nun doch keine Änderungen mehr gibt und markiert die Datei wieder als nicht geändert.
Für die Integration in Eclipse empfehle ich übrigens neben Subclipse unbedingt auch noch SVNKit zu installieren und für Subclipse zu aktivieren (Preferences -> Team -> SVN -> SVN Interface), da man sonst keine Authentifizierungs-details (wie z.B. public-key-authentication) einstellen kann wenn man svn+ssh als Protokoll benutzt.
Wenn im Package-Explorer nicht angezeigt werden sollte ob ein Projekt oder eine Datei geändert ist oder nicht, so liegt das mit Sicherheit daran, das die Label-Decoration für SVN nicht aktiviert ist. Bei mir war sie jedenfalls per Default erst mal deaktiviert! Man muss also noch unter (Preferences -> General -> Appearance -> Label Decoration) einen Haken vor SVN machen.
Das wars erst mal wieder von meiner Seite.