Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitung:web:web_server:svnc [05.09.2014 07:46] J. Huberanleitung:web:web_server:svnc [09.09.2014 06:56] (aktuell) – gelöscht J. Huber
Zeile 1: Zeile 1:
-====== SVNC Skript ====== 
- 
-Skript zum Anlegen, Löschen, … von Subversion Repositories 
- 
-svnc 
- 
-<code bash> 
-#!/bin/bash 
-############################################################################## 
-# 
-# Wrapper Script for svn command. 
-# 
-############################################################################## 
-# 
-# JHE Development / IT-Service Huber, 
-# Chiemgaustr. 20, 
-# 83552 Evenhausen, 
-# Germany 
-# 
-############################################################################## 
- 
-SVNBASE="/srv/svn/repos" 
-SVNEXEC="/usr/bin/svn" 
-REPOFILE="/srv/www/vhosts/it-service-huber.de/subdomains/svn/httpdocs/include/repo_list.php" 
-CONFIGDIR="/srv/svn/config" 
- 
-interactiveSelectCommands() 
-{ 
-echo "" 
-echo " Subversion (SVN) Administration " 
-echo " =============================== " 
-echo "" 
- 
-printf " 1 - empty Erstellt leeres Repository in SVN\n" 
-printf " 2 - project Erstellt neues Projekt in SVN mit Grundstruktur\n" 
-printf " 3 - delete Löscht Repository (ACHTUNG! Daten für immer verloren)\n" 
-printf " 4 - deltify Deltify\n" 
-printf " 5 - dump Speicher dump\n" 
-printf " 6 - load Lade dump\n" 
-printf " 7 - info Zeige Repository Infomrationen\n" 
-printf " 8 - log Zeige Repository Logs\n" 
-printf " u - adduser Erstelle neuen SVN-Benutzer oder aendere Passwort\n" 
- 
-echo "" 
-echo " q - Abbruch" 
-echo "" 
- 
-printf " Auswahl: " 
-read sel 
- 
-case $sel in 
-1|empty) COMMAND="empty" 
- ;; 
-2|project) COMMAND="project" 
- ;; 
-3|delete) COMMAND="delete" 
- ;; 
-4|deltify) COMMAND="deltify" 
- ;; 
-5|dump) COMMAND="dump" 
- ;; 
-6|load) COMMAND="load" 
- ;; 
-7|info) COMMAND="info" 
- ;; 
-8|log) COMMAND="log" 
- ;; 
-u|adduser) COMMAND="adduser" 
- ;; 
-q) exit; 
-esac 
- 
-} 
- 
-getRepo() 
-{ 
-if [ "$1" = "" ] 
-then 
-echo "" 
-echo " Repository-Auswahl" 
-echo " =============================== " 
-echo "" 
- 
-repos=`find $SVNBASE -maxdepth 1 -type d -printf "%f\n"` 
-cnt=0 
- 
-for repo in $repos; 
-do 
-if [ "$cnt" = "0" ] 
-then 
-repolist[$cnt]=$repo 
-else 
-printf " $cnt:\t${repo} \n" 
-repolist[$cnt]=$repo 
-fi 
-((cnt=$cnt+1)); 
-done 
- 
-echo "" 
-echo " q - Abbruch" 
-echo "" 
- 
-printf "\n Auswahl: " 
-read sel 
- 
-if [ "sel" = "q" ] 
-then 
-exit; 
-fi 
- 
-REPO=${repolist[$sel]} 
-# echo "-> $REPO" 
-# read hallo 
-fi 
-} 
- 
-createRepo() 
-{ 
-if [ "$1" = "" ] 
-then 
-printf " Repository Name: " 
-read REPO 
-else 
-REPO=$1 
-fi 
- 
-svnadmin create $SVNBASE/$REPO 
- 
-   1. kopiere svnserver.conf 
-      cp $CONFIGDIR/svnserve.conf $SVNBASE/$REPO/conf/svnserve.conf 
-      rm $SVNBASE/$REPO/conf/authz 
-      rm $SVNBASE/$REPO/conf/passwd 
-      printf " Repository Titel: " 
-      read title 
-      if [ "$title" = "" ] 
-      then 
-      title=$REPO 
-      fi 
-      printf "realm = $title">>$SVNBASE/$REPO/conf/svnserve.conf 
- 
-chown -R svn:svn $SVNBASE/$REPO 
-} 
- 
-createStructure() 
-{ 
-REPO=$1 
-svn co file://$SVNBASE/$REPO /tmp/$REPO --username admin --password svn4pwd2 
-OldPWD=`pwd` 
-cd /tmp 
-cd $REPO 
-mkdir tags 
-mkdir work 
-mkdir public 
-mkdir work/docs 
-mkdir work/source 
-touch work/docs/Anforderungen.xls 
-svn add * 
-svn commit -m "Projekt $REPO angelegt" --username admin --password svn4pwd2 
-cd .. 
-rm -rf $REPO 
-cd $OldPWD 
-} 
- 
-registerRepo() 
-{ 
-REPO=$1 
- 
-printf "\$config->addRepository(\'$title\', \'file://$SVNBASE/$REPO\');\n">> $REPOFILE 
- 
-case $COMMAND in 
-empty) 
- ;; 
-project) 
-printf "\$config->setMinDownloadLevel(1, \'$title\');\n">> $REPOFILE 
- ;; 
-esac 
- 
-printf "\n">> $REPOFILE 
- 
-   1. rcsvn restart 
-      } 
- 
-editSvnFiles() 
-{ 
-mcedit $REPOFILE 
-mcedit $CONFIGDIR/authz 
-} 
- 
-unregisterRepo() 
-{ 
-printf "Bitte manuell austragen...\n"; 
-} 
- 
-deleteRepo() 
-{ 
-REPO=$1 
- 
-printf " LÖSCHEN bitte mit JA bestätigen: " 
-read ja 
-if [ "$ja" = "JA" ] 
-then 
-rm -rf $SVNBASE/$REPO 
-unregisterRepo $REPO 
-echo " $REPO unwiederruflich gelöscht!" 
-fi 
-} 
- 
-deltifyRepo() 
-{ 
-REPO=$1 
-svnadmin deltify -r 0:HEAD $SVNBASE/$REPO 
-} 
- 
-dumpRepo() 
-{ 
-REPO=$1 
-FILE=$2 
- 
-if [ "$FILE" = "" ] 
-then 
-FILE=$SVNBASE/dump_$REPO 
-fi 
- 
-svnadmin dump "$SVNBASE/$REPO" > "$FILE" 
-} 
- 
-loadRepo() 
-{ 
-REPO=$1 
-FILE=$2 
- 
-if [ "$FILE" = "" ] 
-then 
-if [ -e "$SVNBASE/dump_$REPO" ] 
-then 
-svnadmin load $SVNBASE/$REPO < $SVNBASE/dump_$REPO 
-else 
-ls $SVNBASE 
-printf " Dateinamen bitte angeben: " 
-read file 
-printf "\n" 
-svnadmin load $SVNBASE/$REPO < $SVNBASE/$file 
-fi 
-else 
-svnadmin load $SVNBASE/$REPO < $FILE 
-fi 
- 
-} 
- 
-addUser() 
-{ 
-USER=$1 
-PASSWD=$2 
- 
-if [ "$USER" = "" ] 
-then 
-printf " Benutzernamen (Login): " 
-read USER 
-fi 
- 
-if [ "$PASSWD" = "" ] 
-then 
-printf " Passwort für \"$USER\": " 
-read PASSWD 
-fi 
- 
-htpasswd2 -b $CONFIGDIR/htusers $USER $PASSWD 
-echo "$USER =$PASSWD">> $CONFIGDIR/passwd 
-mcedit $CONFIGDIR/passwd 
-mcedit $CONFIGDIR/authz 
-} 
- 
-COMMAND=$1 
- 
-if [ "$COMMAND" = "" ] 
-then 
-interactiveSelectCommands 
-else 
-shift 
-fi 
- 
-REPO=$1 
-FILE=$2 
- 
-echo "$COMMAND $REPO $FILE" 
- 
-case $COMMAND in 
-empty) 
-createRepo $REPO 
-registerRepo $REPO 
-editSvnFiles 
- ;; 
-project) 
-createRepo $REPO 
-registerRepo $REPO 
-createStructure $REPO 
-editSvnFiles 
- ;; 
-delete) 
-getRepo $REPO 
-deleteRepo $REPO 
-editSvnFiles 
- ;; 
-deltify) 
-getRepo $REPO 
-deltifyRepo $REPO 
- ;; 
-dump) 
-getRepo $REPO 
-shift 
-dumpRepo $REPO $FILE 
- ;; 
-load) 
-getRepo $REPO 
-shift 
-loadRepo $REPO $FILE 
- ;; 
-info) 
-getRepo $REPO 
-svn info svn://localhost/$REPO --username admin --password svn4pwd2 
- ;; 
-log) 
-getRepo $REPO 
-svn log svn://localhost/$REPO --username admin --password svn4pwd2 
- ;; 
-adduser) 
-# REPO = Benutzername, FILE = Passwort 
-addUser $REPO $FILE 
- ;; 
-esac 
-</code> 
- 
- 
----- struct data ---- 
-----