Tags: script,shell,svn

Sort by: Date / Title /

  1. 3 months ago by spirit
    Ce script permet de créér un repository pour votre application. Il crée les répertoires trunk, branches et tags automatiquement. Il suffit jsute de configurer les lignes au début du script et de se laisser guider.
    1. #!/bin/bash
    2.  
    3. # Vous pouvez éditer ces variables selon vos besoins
    4. SVN_ROOT="/var/svn"
    5. SVN_TMP_PATH="/tmp/svn"
    6. APACHE_USER="www-data"
    7. APAGE_GROUP="www-data"
    8. TRAC_ROOT="/var/trac"
    9. TRAC_SHARE="/usr/share/trac"
    10.  
    11. # Ce script doit être executer avec les droits de superutilisateur
    12. test -w /root;
    13. if [ ! "$?" -eq "0" ]; then
    14.         echo "Vous devez executer ce script en tant que superutilisateur."
    15.         exit 0
    16. fi
    17.  
    18. echo "#######################################"
    19. echo "Création d'un nouveau projet Subversion"
    20. echo "#######################################"
    21. echo ""
    22. echo "Tapez le nom du nouveau projet :"
    23. read PROJECT_NAME
    24.  
    25. if [ -z "$PROJECT_NAME" ]; then
    26.         echo "$PROJECT_NAME n'est pas un nom de projet valide.";
    27.         exit 0 
    28. fi
    29.  
    30. echo "Tapez maintenant le chemin du répertoire source :"
    31. echo "(Note: les répertoires trunk, branches et tags seront créés automatiquement)"
    32. read PROJECT_SOURCE_PATH
    33.  
    34. if [ -z "$PROJECT_SOURCE_PATH" -o ! -d $PROJECT_SOURCE_PATH ]; then
    35.         echo "$PROJECT_SOURCE_PATH n'est pas un répertoire valide.";
    36.         exit 0
    37. fi
    38.  
    39. echo "Création du projet $PROJECT_NAME depuis $PROJECT_SOURCE_PATH..."
    40.  
    41. # Si le répertoire $SVN_ROOT n'existe pas, on le crée
    42. if [ ! -d $SVN_ROOT ]; then
    43.         mkdir $SVN_ROOT
    44. fi
    45.  
    46. # Si le répertoire $SVN_TMP_PATH n'existe pas, on le crée
    47. if [ ! -d $SVN_TMP_PATH ]; then
    48.         mkdir $SVN_TMP_PATH
    49. fi     
    50.  
    51. # Création du répertoire du dépôt
    52. mkdir $SVN_ROOT/$PROJECT_NAME
    53.  
    54. # Création d'un répertoire temporaire de stockage avant import
    55. mkdir $SVN_TMP_PATH/$PROJECT_NAME
    56. mkdir $SVN_TMP_PATH/$PROJECT_NAME/branches
    57. mkdir $SVN_TMP_PATH/$PROJECT_NAME/tags
    58. mkdir $SVN_TMP_PATH/$PROJECT_NAME/trunk
    59.  
    60. # Copie des fichiers originaux dans le répertoire temporaire
    61. cp -R $PROJECT_SOURCE_PATH/* $SVN_TMP_PATH/$PROJECT_NAME/trunk/
    62.  
    63. # Création du dépôt et import depuis le répertoire créé
    64. svnadmin create $SVN_ROOT/$PROJECT_NAME
    65. svn import $SVN_TMP_PATH/$PROJECT_NAME file://$SVN_ROOT/$PROJECT_NAME -m "Initial import"
    66.  
    67. # Attribution des permissions à Apache sur le repertoire du dépot
    68. chown -R $APACHE_USER:$APACHE_GROUP $SVN_ROOT/$PROJECT_NAME
    69.  
    70. # Attribution de droits supplémentaires
    71. sudo chown -R $APACHE_USER:$APACHE_GROUP $TRAC_SHARE
    72.  
    73. # Suppression du répertoire temporaire
    74. rm -rf $SVN_TMP_PATH/$PROJECT_NAME     
    75.  
    76. # Done !
    77. echo ""
    78. echo "Projet subversion $PROJECT_NAME créé avec succès dans $SVN_ROOT/$PROJECT_NAME !"

First / Previous / Next / Last / Page 1 of 1 (1 posteets)