Benutzer-Werkzeuge

Webseiten-Werkzeuge

StrukturPunkt
Klaus Franken

svndisk:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
svndisk:start [23.11.2009 12:28]
kfr angelegt
svndisk:start [07.12.2009 09:19] (aktuell)
kfr
Zeile 2: Zeile 2:
  
   * Einführung,​ KNF-Vortrag:​ [[/​doku/​knf2009-svndisk]]   * Einführung,​ KNF-Vortrag:​ [[/​doku/​knf2009-svndisk]]
 +  * wer Schreibrechte im Wiki haben möchte bitte bei [[Klaus.Franken@StrukturPunkt.de]] melden
  
 ===== Das aktuelle Script: ===== ===== Das aktuelle Script: =====
 svndisk.sh svndisk.sh
 <​code>​ <​code>​
 +#!/bin/sh
 # (c) 2009, Klaus.Franken@StrukturPunkt.de # (c) 2009, Klaus.Franken@StrukturPunkt.de
 # vim: ts=4 ai # vim: ts=4 ai
Zeile 34: Zeile 36:
  
 sync () { sync () {
- # FIXME: bei Meldung:  +        ​# FIXME: bei Meldung: 
- #     svn: Directory '/​Users/​kfr/​SvnDisk/​SvnDisk/​StrukturPunkt/​Kunden/​falkemedia-maclife/​uck/​.svn'​ containing working copy admin area is missing +        #     svn: Directory '/​Users/​kfr/​SvnDisk/​SvnDisk/​StrukturPunkt/​Kunden/​falkemedia-maclife/​uck/​.svn'​ containing working copy admin area is missing 
- # wurde (versehentlich) .svn im betroffenen Pfad gelöscht. Diverse Kommandos "svn stat", "svn update"​ brechen ab! +        # wurde (versehentlich) .svn im betroffenen Pfad gelöscht. Diverse Kommandos "svn stat", "svn update"​ brechen ab! 
- # Lösung:  +        # Lösung: 
- # cd ... +              ​cd ... 
- # svn co svn+ssh://​kfr@strukturpunkt.de/​home/​kfr/​SvnDisk/​repo/​SvnDisk/​StrukturPunkt/​Kunden/​falkemedia-maclife/​uck/​ DELME +              ​svn co svn+ssh://​kfr@strukturpunkt.de/​home/​kfr/​SvnDisk/​repo/​SvnDisk/​StrukturPunkt/​Kunden/​falkemedia-maclife/​uck/​ DELME 
- (URL siehe Pfad in .svn im Ordner darüber) +              ​(URL siehe Pfad in .svn im Ordner darüber) 
- mv DELME/​.svn/​ +              ​mv DELME/​.svn/​ 
- # rm -rf DELME+              ​rm -rf DELME
  
  
- # gelöschtes löschen: +        ​# gelöschtes löschen: 
- # Beispiel: "​! ​     Klexe/​Arcor-Vertragsänderung-090610.pdf"​ +        # Beispiel: "​! ​     Klexe/​Arcor-Vertragsänderung-090610.pdf"​ 
- $SVN stat | $PERL -ne '$_ =~ s/^\!\s+// || next; print $_;' | $XARGS $XARGS_OPT $SVN del +        $SVN stat | $PERL -ne '$_ =~ s/^\!\s+// || next; $_ =~ s/\s(.)/\\ $1/g; print $_;' | $XARGS $XARGS_OPT $SVN del 
- # FIXME: wie ein ganzes Verzeichnis löschen?+        # FIXME: wie ein ganzes Verzeichnis löschen?
  
- # Konflikte beheben (umbenennen):​ +        ​# Konflikte beheben (umbenennen):​ 
- # Bsp-Zeile: "​M ​     *       ​17 ​  ​NEU.txt"​ +        # Bsp-Zeile: "​M ​     *       ​17 ​  ​NEU.txt"​ 
- # Erkennung: Konflikt wenn modifiziert (M) und neue Version auf Server (*) +        # 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"​`+        # Version für svn 1.4 
 +        ## $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"​` 
 +        # Version für svn 1.4 und 1.6: 
 +        $SVN stat -u | perl -ne '$_ =~ s/^M[\w\s]+\*\s*\d*\s*//​ || next; print $_;' | xargs $XARGS_OPT -I % mv % %-$USER-$HOSTNAME-`date "​+%y%m%d-%H%M%S"​`
  
- # Updates abholen: +        ​# Updates abholen ​(Konflikte ignorieren, FIXME: "​postponed"​ legt kopien an, aber die andere Parameter sind noch blöder)
- $SVN update+        $SVN update ​--accept postpone
  
- # neues hinzufügen:​ +        ​# neues hinzufügen:​ 
- # BUG: keine Dateinamen mit "​´"​ oder "​`"​ im Namen +        # 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 stat | $PERL -ne '$_ =~ s/^\?\s+// || next; $_ =~ s/\s(.)/\\ $1/g; print $_;' | $XARGS $XARGS_OPT $SVN add
  
- $SVN commit -m "​svndisk auto commit"​+        ​$SVN commit -m "​svndisk auto commit"​
 } }
  
 WAITING=$WAIT2 WAITING=$WAIT2
 while test 1; do while test 1; do
- UPDATES=`$SVN stat 2>&​1` +        ​UPDATES=`$SVN stat 2>&​1` 
- if test ! -z "​$UPDATES"​ -o $WAITING -eq 0; then +        if test ! -z "​$UPDATES"​ -o $WAITING -eq 0; then 
- sync +                sync 
- WAITING=$WAIT2 +                WAITING=$WAIT2 
- fi +        fi 
- sleep $WAIT1 +        sleep $WAIT1 
- WAITING=`expr $WAITING - 1`+        WAITING=`expr $WAITING - 1`
 done done
- 
 </​code>​ </​code>​
  
Zeile 91: Zeile 95:
  
 Eine GUI wäre schön. Z.T gibt es Integrationen in den Dateimanager/​Finder. Austesten. Eine GUI wäre schön. Z.T gibt es Integrationen in den Dateimanager/​Finder. Austesten.
- 
 ==== Troubles ==== ==== Troubles ====
-=== Subversion Anpassung an 1.6 === 
-z.B. die Konflikterkennung ist noch für Version 1.4 entwickelt, aber 1.6 liefert andere Meldungen. Siehe unten. 
- 
-=== Konflikte === 
- 
-Seit Subversion-Version 1.6 werden Konflikte so angezeigt: 
-<​code>​ 
-Conflict discovered in '​Einstellungen/​Vienna/​messages.db'​. 
-Select: (p) postpone, 
-        (mf) mine-full, (tf) theirs-full,​ 
-        (s) show all options: 
-</​code>​ 
- 
  
 === Datei nicht (mehr) vorhanden ===  === Datei nicht (mehr) vorhanden === 
Zeile 118: Zeile 108:
  
 Datei löschen: <​code>​svn del "​StrukturPunkt/​Briefwechsel Sonstiges/​.~lock.Gerlin-Haftpflicht-Fragebogen.odt#"</​code>​ (Fehlermeldung ignorieren) Datei löschen: <​code>​svn del "​StrukturPunkt/​Briefwechsel Sonstiges/​.~lock.Gerlin-Haftpflicht-Fragebogen.odt#"</​code>​ (Fehlermeldung ignorieren)
 +
 +Ev. zusätzlich den Konflikt als gelöst markieren: <​code>​svn resolved ...</​code>​
  
 === Datei zweimal gelöscht (?) === === Datei zweimal gelöscht (?) ===
Zeile 131: Zeile 123:
 svn resolved pw2.kdb.lock svn resolved pw2.kdb.lock
 </​code>​ </​code>​
- 
- 
- 
svndisk/start.1258975698.txt.gz · Zuletzt geändert: 23.11.2009 12:28 von kfr

oeffentlich