Inhaltsverzeichnis

View page as slide show

Sync Ordner mit SVN ?

Übersicht

Ziel / Wunsch

vorhandene Projekte

Subversion

Theorie

ein Script läuft in einer Schleife und:

  1. gelöschte Dateien (in SVN) als gelöscht markieren
  2. Konflikt-Dateien umbenennen
  3. neue Dateien vom Server holen
  4. neue Dateien als neu markieren
  5. Ä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:

Ich stelle:

Mail an Klaus.Franken@StrukturPunkt.de

Projektseite: svndisk