4. June 2006 - 13:15 — Tilman
...erstellt ein Repository und liegt unter /root/tilman/create_repository.sh. Nächstes Ziel: Subversion hook script für automatisiertes Update, damit die Webentwicklung so richtig losgehen kann.
#!/bin/sh
# Erstellt ein Repository unterhalb von /home/svn-repos,
# traegt es in die httpd.conf ein und startet Apache neu
#
# Optionen: -n um den Eintrag in die httpd.conf und den Apache-Neustart
# abzuschalten
# Parameter: Pfad des neuen Repository (unterhalb von /home/svn-repos/)
if [ $# -eq 2 ]
then
if [ $1 == "-n" ]
then
# Slashes am Anfang und Ende der Pfadangabe entfernen
repos=${2%\/}
repos=${repos#\/}
updateconf=false
else
echo "usage: create_repository [-n] repository_path"
exit 1
fi
else
if [ $# -eq 1 ]
then
# Slashes am Anfang und Ende der Pfadangabe entfernen
repos=${1%\/}
repos=${repos#\/}
updateconf=true
else
echo "usage: create_repository [-n] repository_path"
exit 2
fi
fi
mkdir /home/svn-repos/$repos
svnadmin create /home/svn-repos/$repos
chown -R svn.svn /home/svn-repos/$repos
chmod -R ug+w /home/svn-repos/$repos
chmod ug+s /home/svn-repos/$repos /home/svn-repos/$repos/*
# in httpd.conf eintragen und Apache neu starten
if [ $updateconf = true ]
then
echo "
<Location /svn/$repos>
DAV svn
SVNPath /home/svn-repos/$repos
SVNIndexXSLT \"/subversion-xslt/svnindex.xsl\"
AuthType Basic
AuthName \"siarp.de repository\"
AuthUserFile /home/svn-repos/svn-auth-file
Require user martin tilman
SSLRequireSSL
</Location>
" >> /usr/local/apache2/conf/httpd.conf
/usr/local/apache2/bin/apachectl restart
fi
# Erstellt ein Repository unterhalb von /home/svn-repos,
# traegt es in die httpd.conf ein und startet Apache neu
#
# Optionen: -n um den Eintrag in die httpd.conf und den Apache-Neustart
# abzuschalten
# Parameter: Pfad des neuen Repository (unterhalb von /home/svn-repos/)
if [ $# -eq 2 ]
then
if [ $1 == "-n" ]
then
# Slashes am Anfang und Ende der Pfadangabe entfernen
repos=${2%\/}
repos=${repos#\/}
updateconf=false
else
echo "usage: create_repository [-n] repository_path"
exit 1
fi
else
if [ $# -eq 1 ]
then
# Slashes am Anfang und Ende der Pfadangabe entfernen
repos=${1%\/}
repos=${repos#\/}
updateconf=true
else
echo "usage: create_repository [-n] repository_path"
exit 2
fi
fi
mkdir /home/svn-repos/$repos
svnadmin create /home/svn-repos/$repos
chown -R svn.svn /home/svn-repos/$repos
chmod -R ug+w /home/svn-repos/$repos
chmod ug+s /home/svn-repos/$repos /home/svn-repos/$repos/*
# in httpd.conf eintragen und Apache neu starten
if [ $updateconf = true ]
then
echo "
<Location /svn/$repos>
DAV svn
SVNPath /home/svn-repos/$repos
SVNIndexXSLT \"/subversion-xslt/svnindex.xsl\"
AuthType Basic
AuthName \"siarp.de repository\"
AuthUserFile /home/svn-repos/svn-auth-file
Require user martin tilman
SSLRequireSSL
</Location>
" >> /usr/local/apache2/conf/httpd.conf
/usr/local/apache2/bin/apachectl restart
fi
Comments
0.2?
/usr/local/apache2/bin/apachectl restart
Was macht denn
chmod ug+s /home/svn-repos/$repos /home/svn-repos/$repos/*
und warum geht das nicht rekursiv?Schnelle Antwort
Also eigentlich habe ich diese drei Zeilen mit den Rechten aus einer c't und benutze sie immer, ohne sie zu hinterfragen...