Benutzer-Werkzeuge

Webseiten-Werkzeuge

StrukturPunkt
Klaus Franken

doku:knf2009-svndisk

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
doku:knf2009-svndisk [20.11.2009 22:01]
kfr
doku:knf2009-svndisk [21.11.2009 10:14]
kfr
Zeile 1: Zeile 1:
  ​~~SLIDESHOW~~  ​~~SLIDESHOW~~
- +====== Sync Ordner ​mit SVN ? ======
-====== Sync Homedir ​mit SVN ? ======+
  
   *   *
-  * Kann man mit Subversion (SVN) sein Homeverzeichnis ​syncen?+  * Kann man mit Subversion (SVN) seine Arbeitsordner ​syncen?
   * Klaus Franken, [[StrukturPunkt.de]]   * Klaus Franken, [[StrukturPunkt.de]]
   * KNF Kongress 22.11.2009 ​   * KNF Kongress 22.11.2009 ​
   *   *
 +===== Übersicht =====
 +{{:​doku:​svndisk_2ws.png|}}
 +
 +===== 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 =====
 +<​code>​
 +# 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"​
 +</​code>​
 +===== 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
doku/knf2009-svndisk.txt · Zuletzt geändert: 23.11.2009 12:18 von kfr

oeffentlich