Benutzer-Werkzeuge

Webseiten-Werkzeuge


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:
 + ~~SLIDESHOW~~
 +====== Sync Ordner mit SVN ? ======
  
 +  *
 +  * Kann man mit Subversion (SVN) seine Arbeitsordner syncen?
 +  * Klaus Franken, [[StrukturPunkt.de]]
 +  * 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: "     *       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
 +
 +Projektseite: [[:svndisk:start|svndisk]]
doku/knf2009-svndisk.txt · Zuletzt geändert: 2009-11-23 11:18 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki