doku:knf2009-svndisk
Inhaltsverzeichnis
~~SLIDESHOW~~
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: Linux, Mac OS X, …
- 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 gelöscht markieren
- Konflikt-Dateien umbenennen
- neue Dateien vom Server holen
- neue Dateien als neu markieren
- Änderungen hochladen
Praxis
# gelöschtes löschen: # Beispiel: "! Klexe/Arcor-Vertragsänderung-090610.pdf" $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: "M * 17 NEU.txt" # Erkennung: Konflikt wenn modifiziert (M) und neue Version auf Server (*) $SVN stat -u \ | perl -ne '$_ =~ s/^M[\w\s]{6}\*\s*\d*\s*// || next; print $_;' \ | xargs $XARGS_OPT -I % mv % %-$USER-$HOSTNAME-`date "+%y%m%d-%H%M%S"` # Updates abholen: $SVN update # neues hinzufügen: # BUG: keine Dateinamen mit "´" oder "`" im Namen $SVN stat \ | $PERL -ne '$_ =~ s/^\?\s+// || next; $_ =~ s/\s(.)/\\ $1/g; print $_;' \ | $XARGS $XARGS_OPT $SVN add $SVN commit -m "svndisk auto commit"
wer macht mit?
Wunsch:
- Open Source Projekt
- Script chefsicher machen
- GUI ?
Ich stelle:
- vorhandenes Script
- Server: Wiki, Mailingliste, Svn…
Mail an Klaus.Franken@StrukturPunkt.de
Projektseite: svndisk
doku/knf2009-svndisk.txt · Zuletzt geändert: 2009-11-23 11:18 von 127.0.0.1