2 Reaktionen

Mehrere subversion (svn) Arbeitskopien abgleichen oder committen

Geschätzte Lesedauer:

Heute möchte ich nur einen kleinen Code-Schnipsel online stellen, der mir inzwischen einiges an Arbeit erspart.

Ich habe ein Arbeitsverzeichnis, z. B. /home/marius/Arbeit/, das verschiedene Arbeitskopien von SVN Repositories beinhaltet, allerdings auch andere Verzeichnisse, die nicht unter Versionskontrolle stehen.
Da es viel zu mühsam ist in jedes Verzeichnis einzeln zu wechseln und mit einem svn up oder svn commit die Daten abzugleichen, habe ich mir einen kleinen Bash-Befehl zusammengebastelt.

[pastacode lang=“bash“ message=“Kommandozeile“ highlight=““ provider=“manual“]

cd ~/Arbeit ; for L in `ls` ; do if [[ -d $L ]] ; then if [[ -d "$L/.svn" ]] ; then cd $L ; echo "SVN Update $L" ; svn up ; cd ~/Arbeit ; fi ; fi ; done

[/pastacode]

oder in ein Shellscript verpackt

[pastacode lang=“bash“ message=“Shellscript“ highlight=““ provider=“manual“]

#!/bin/bash
cd ~/Arbeit ;
for L in `ls` ; do
 if [[ -d $L ]] ; then
  if [[ -d "$L/.svn" ]] ; then
   cd $L ;
   echo "SVN Update $L" ;
   svn up ;
   cd ~/Arbeit ;
  fi ;
 fi ;
done

[/pastacode]

Dieser Befehl durchläuft alle Verzeichnisse in meinem Arbeitsverzeichnis und schaut, ob es sich um eine Arbeitskopie eines Subversion Repositories handelt (also ob ein .svn Unterverzeichnis vorhanden ist). Ist dies der Fall, wird in das Verzeichnis gewechselt und der Befehl svn up ausgeführt.

Das Ganze kann man natürlich auch mit svn commit machen um alle Arbeitskopien nach lokalen Änderungen zu durchsuchen und diese auf den Server hochzuladen. Der Rest des Befehls bleibt gleich.

Vielleicht erspart das Vorgehen ja auch ein paar von euch ein wenig Zeit 😉

Dieser Artikel wurde von Marius Burkard verfasst.

Marius Burkard ist Diplom-Wirtschaftsinformatiker und arbeitet seit 2006 als selbstständiger Software-Entwickler und Linux-Server-Administrator mit der Firma pixcept KG. Er ist unter anderem mitverantwortlich für die Projekte Was-lese-ich.de und ISPProtect.

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.
  1. Nach Absenden des Kommentar-Formulars erfolgt eine Verarbeitung der von Ihnen eingegebenen personenbezogenen Daten durch den datenschutzrechtlich Verantwortlichen zum Zweck der Bearbeitung Ihrer Anfrage auf Grundlage Ihrer durch das Absenden des Formulars erteilten Einwilligung.
    Weitere Informationen