Filehamster - das Mini SVN das eigentlich keines ist

17 07 2008 Creativebyte
Jeder Hobby- und Freelance-Entwickler kennt das: eigentlich braucht man ständig Backups seines Codes. Oft braucht man etwas, das man grade vorher gelöscht hat oder man hat eine Datei als Template verwenden wollen, hat bereits lauter neuen Content reingeschrieben, gespeichert - da fällt einem ein dass man statt auf "Speichern" eigentlich "Speichern unter..." machen wollte. Verdammt sei das automatische Strg+S, das man sich so sehr angewohnt hat. Tja, wie kommt man an die ganzen 200 Zeilen Code ran die man grad gelöscht hat? Jetzt bräuchte man ein Backup, aber wer macht schon Backups von jeder kleinen Code-Änderung?
Eine Lösung: SVN. Populärste Beispiele sind CVS und das neuere Subversion. Beide angesehen und für meine Verhältnisse sind die beide zu groß, zu umständlich (ja, mein Editor könnte über Plugin auf SubVersion zugreifen wenn ich nicht zu faul wäre das einzurichten...
Aber speziell das Arbeiten mit dem SVN fand ich immer umständlich, zudem hat mir jedes SVN imemr meine Ordner zugespammt. Außerdem muss ich bei einem SVN einen Commit selbst durchführen, was ich aus Bequemlichkeit nur bei stabilen und sinnvollen Meilensteinen einer Datei mache, nicht bei jeder Änderung. Dabei ist genau das etwas das ich bräuchte: ein Tool dass automatisch Backups von allem macht was ich tue.

Durch Zufall bin ich dann auf eine Firme gestoßen, die eigentlich Software für Spiele-Entwickler verkauft. Eines der Tools (das es in der Basisvariante kostenlos gibt) nennt sich FileHamster [1].

Was macht FileHamster? Effektiv ist es ein Real-Time Backup-Tool. Man richtet im FH (das es übrigens auch Portable gibt) sogenannte DirectoryWatches ein. Sobald sich an einem File dieses Ordners etwas ändert macht wird eine Kopie davon in einen getrennten Bereich (einstellbar ob ganz woanders (andere Platte, anderer Ordner,...) oder wie die anderen SVNs im gleichen Ordner) gespeichert. Parallel wird ein Popup angezeigt in dem man die Möglichkeit hat die neue Version zu kommentieren, also im Stil von "neue Methode helloWorld() eingebaut" oder bei Bildern z.b. "Button in Gelb".

Dabei kommt wie ich finde ein sehr intelligentes System zum Einsatz. Jede Änderung, die kommentiert wird (also "wichtig" ist), erzeugt eine geschützte Version. Im normalen Arbeiten fasst man aber eine Datei öfter an, ändert mal hier was, korrigiert nach dem Test da noch schnell einen Bug, sprich: man ändert viel öfter die Datei als es schützenswerte Versionen davon gibt. In diesem Fall kommentiert man neue Versionen eben nicht (das Popup verschwindet dann einfach wieder) und FileHamster legt die Version als ungeschützt an. Das bedeutet: es wird immer ein Backup gemacht, die Wertigkeit ist allerdings unterschiedlich.

Der große Vorteil: wenn man grade eben eine große Dummheit begangen hat (viel Code gelöscht und auf Speichern geklickt) dann kann man sich über FileHamster sofort die vorherige Version geben lassen. Wenn man dann mal Platz sparen will im Backupbereich bzw. einfach aufräumen will kann man FH einfach alle ungeschützten Versionen löschen lassen, d.h. es bleiben nur Dateiversionen übrig die Meilensteine sind.

Prinzipiell lässt sich FileHamster sehr vielfältig einstellen, v.a. auch um nicht bei jeder Mini-Änderung sofort eine neue Version zu kriegen. So kann man z.B. die Minimalzeit, die zwischen zwei Backups vergehen muss selbst einstellen (bei mir z.B. 5 Min), ebenso kann man Dateien oder Ordner über reguläre Ausdrücke von der Überwachung ausnehmen, damit z.B. nicht laufend neue Versionen der Log- oder Debug-Datei gespeichert werden.

FileHamster kann aber ein echtes SVN nicht ersetzen. Stabile Versionen eines ganzen Projektes, Branches und all das Zeug geht nicht, es ist eben nur ein Real-Time-Backup und kein SVN. Wer also fortgeschrittene Funktionen braucht sollte auf ein echtes SVN setzen, kann aber FileHamster ohne Probleme parallel benutzen, schließlich nimmt FH auf Wunsch keine Veränderung am Originalordner vor sondern speichert die Dateien sonst wohin.

Zu erwähnen ist noch, dass es zu FH kostenlose (ZIP, Diff,...) und kostenpflichtige Plugins (erweiteres Reporting, Scripting) gibt, ebenso gibt es eine kostenpflichtige Plus-Version (~20 Dollar), die noch mehr Komfort und Optionen bietet.

Ich kann euch nur empfehlen einmal das Einführungsvideo [2] anzusehen und FH einfach mal zu probieren. Die Basis-Variante ist absolut ausreichend für die meisten Zwecke, es ist portable und sehr schnell einzurichten. Einziger Nachteil: Es läut nur unter Windows mit .NET Framework.

Viel Spaß beim Ausprobieren.
Euer Michael 'CreativeByte'

[1] File Hamster Homepage [2] Video Tour durch File Hamster

Bookmark Filehamster - das Mini SVN das eigentlich keines ist  at del.icio.us Digg Filehamster - das Mini SVN das eigentlich keines ist Technorati Filehamster - das Mini SVN das eigentlich keines ist

Kommentare

Ansicht der Kommentare: (Linear | Verschachtelt)
17 07 2008
#1 Nils Hitze (Antwort)

Danke für den ausführlichen Beitrag, ich hab's mir ebenfalls installiert und bin bisher ganz happy damit. Mal sehen wie es in ein paar Wochen ist.
Kommentare (2)
06 08 2008
#2 Haiko (Antwort)

Ihr verwendet SVN hier immer als Synonym für Versionsverwaltungssystem. IMHO ist SVN aber nur eine Abkürzung für Subversion, CVS ist also kein SVN. Der Satz "..SVN. Populärste Beispiele sind CVS und das neuere Subversion..." gibt so keinen Sinn.
Kommentar (1)
06 08 2008
#2.1 Nils Hitze (Antwort)

Da hat er natürlich Recht, danke für den Hinweis.
Kommentare (2)
06 08 2008
#2.2 Michael Haszprunar (Antwort)

Hi haiko, Danke für den Hinweis, ich bin immer davon ausgegangen dass SVN die generelle Abkürzung ist. Welche würdest du denn anstelle benutzen?
Kommentar (1)

Kommentar schreiben


Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss um dieses Verfahren anzuwenden.
CAPTCHA

Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden