automatically create a SVN repository from a web project directory including trunk, branches and tags
-
#!/bin/bash
-
# Vous pouvez éditer ces variables selon vos besoins
-
SVN_ROOT=“/srv/unit1/svn”
-
SVN_TMP_PATH=“/tmp/svn”
-
$SVN_USER=“svn”
-
$SVN_GROUP=“svn”
-
# Ce script doit être executé avec les droits de superutilisateur
-
test –w /root;
-
if [ ! “$?” -eq “0” ]; then
-
echo “Vous devez executer ce script en tant que superutilisateur.”
-
exit 0
-
fi
-
echo “#######################################”
-
echo “Création d’un nouveau projet Subversion”
-
echo “#######################################”
-
echo “”
-
echo “Tapez le nom du nouveau projet :”
-
read PROJECT_NAME
-
if [ -z “$PROJECT_NAME” ]; then
-
echo “$PROJECT_NAME n’est pas un nom de projet valide.”;
-
exit 0
-
fi
-
echo “Tapez maintenant le chemin du répertoire source :”
-
echo “(Note: les répertoires trunk, branches et tags seront créés automatiquement)”
-
read PROJECT_SOURCE_PATH
-
if [ -z “$PROJECT_SOURCE_PATH” -o ! -d $PROJECT_SOURCE_PATH ]; then
-
echo “$PROJECT_SOURCE_PATH n’est pas un répertoire valide.”;
-
exit 0
-
fi
-
echo “Création du projet $PROJECT_NAME depuis $PROJECT_SOURCE_PATH…”
-
# Si le répertoire $SVN_ROOT n’existe pas, on le crée
-
if [ ! -d $SVN_ROOT ]; then
-
mkdir $SVN_ROOT
-
fi
-
# Si le répertoire $SVN_TMP_PATH n’existe pas, on le crée
-
if [ ! -d $SVN_TMP_PATH ]; then
-
mkdir $SVN_TMP_PATH
-
fi
-
# Création du répertoire du dépôt
-
mkdir $SVN_ROOT/$PROJECT_NAME
-
# Création d’un répertoire temporaire de stockage avant import
-
mkdir $SVN_TMP_PATH/$PROJECT_NAME
-
mkdir $SVN_TMP_PATH/$PROJECT_NAME/branches
-
mkdir $SVN_TMP_PATH/$PROJECT_NAME/tags
-
mkdir $SVN_TMP_PATH/$PROJECT_NAME/trunk
-
# Copie des fichiers originaux dans le répertoire temporaire
-
cp -R $PROJECT_SOURCE_PATH/* $SVN_TMP_PATH/$PROJECT_NAME/trunk/
-
# Création du dépôt et import depuis le répertoire créé
-
svnadmin create $SVN_ROOT/$PROJECT_NAME
-
svn import $SVN_TMP_PATH/$PROJECT_NAME file://$SVN_ROOT/$PROJECT_NAME -m “Initial import”
-
# Attribution des permissions à Apache sur le repertoire du dépot
-
chown -R $SVN_USER:$SVN_GROUP $SVN_ROOT/$PROJECT_NAME
-
# Suppression du répertoire temporaire
-
rm -rf $SVN_TMP_PATH/$PROJECT_NAME
-
# Done !
-
echo “”
-
echo “Projet subversion $PROJECT_NAME créé avec succès dans $SVN_ROOT/$PROJECT_NAME !”
sox’s tags
administration ajaxterm apache apt apt-file automatize backup bash bell bips bnx2 clock Commande date debian editor EoN eth fat32 firefox gcc grep htaccess https hwconf ifcfg kernel killall linux MAC matériel memoire minimal mount mysql network ntp ntpd package paquet password php psmisc PuTTY quotas RAM regexp repository reseau routage route screensaver script setterm shell shell wifi ssh subversion svn synchronize synergy ubuntu UTF-8 vfat web windows xset