doku:knf2009-svndisk
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
— | doku:knf2009-svndisk [2009-11-23 11:18] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | | ||
+ | ====== Sync Ordner mit SVN ? ====== | ||
+ | * | ||
+ | * Kann man mit Subversion (SVN) seine Arbeitsordner syncen? | ||
+ | * Klaus Franken, [[StrukturPunkt.de]] | ||
+ | * KNF Kongress 22.11.2009 | ||
+ | * | ||
+ | ===== Übersicht ===== | ||
+ | {{: | ||
+ | |||
+ | ===== Ziel / Wunsch ===== | ||
+ | |||
+ | * mehrere Systeme (Peer to Peer / sternförmig) | ||
+ | * Plattformen: | ||
+ | * Sicherheit | ||
+ | * eigener Server | ||
+ | * wegen Sicherheit / Datenschutz | ||
+ | * Konflikterkennung | ||
+ | * offline | ||
+ | * History | ||
+ | * //bequem// | ||
+ | * automatisierbar / soll im Hintergrund laufen | ||
+ | |||
+ | |||
+ | ===== vorhandene Projekte ===== | ||
+ | |||
+ | * Dropbox | ||
+ | * Mobile Me | ||
+ | * Teamdrive | ||
+ | * Powerfolder | ||
+ | * Wuala | ||
+ | |||
+ | ===== Subversion ===== | ||
+ | * eigentlich eine Revision Control System, aber... | ||
+ | * kann 95% von den Wünschen | ||
+ | * kann man ein Script für die restlichen 5% schreiben? | ||
+ | |||
+ | ===== Theorie ===== | ||
+ | |||
+ | ein Script läuft in einer Schleife und: | ||
+ | - gelöschte Dateien (in SVN) als // | ||
+ | - Konflikt-Dateien umbenennen | ||
+ | - neue Dateien vom Server holen | ||
+ | - neue Dateien als //neu// markieren | ||
+ | - Änderungen hochladen | ||
+ | |||
+ | ===== Praxis ===== | ||
+ | < | ||
+ | # gelöschtes löschen: | ||
+ | # Beispiel: " | ||
+ | $SVN stat \ | ||
+ | | $PERL -ne '$_ =~ s/^\!\s+// || next; print $_;' \ | ||
+ | | $XARGS $XARGS_OPT $SVN del | ||
+ | # FIXME: wie ein ganzes Verzeichnis löschen? | ||
+ | |||
+ | # Konflikte beheben (umbenennen): | ||
+ | # Bsp-Zeile: " | ||
+ | # Erkennung: Konflikt wenn modifiziert (M) und neue Version auf Server (*) | ||
+ | $SVN stat -u \ | ||
+ | | perl -ne '$_ =~ s/ | ||
+ | | xargs $XARGS_OPT -I % mv % %-$USER-$HOSTNAME-`date " | ||
+ | |||
+ | # Updates abholen: | ||
+ | $SVN update | ||
+ | |||
+ | # neues hinzufügen: | ||
+ | # BUG: keine Dateinamen mit " | ||
+ | $SVN stat \ | ||
+ | | $PERL -ne '$_ =~ s/^\?\s+// || next; $_ =~ s/\s(.)/\\ $1/g; print $_;' \ | ||
+ | | $XARGS $XARGS_OPT $SVN add | ||
+ | |||
+ | $SVN commit -m " | ||
+ | </ | ||
+ | ===== wer macht mit? ===== | ||
+ | |||
+ | Wunsch: | ||
+ | * Open Source Projekt | ||
+ | * Script // | ||
+ | * GUI ? | ||
+ | |||
+ | Ich stelle: | ||
+ | * vorhandenes Script | ||
+ | * Server: Wiki, Mailingliste, | ||
+ | |||
+ | Mail an Klaus.Franken@StrukturPunkt.de | ||
+ | |||
+ | Projektseite: |