sox posteets tagged script  [ Profile ]

Sort by: Date / Title /

  1. 8 years ago and saved by 1 other
    automatically create a SVN repository from a web project directory including trunk, branches and tags
    1. #!/bin/bash
    2.  
    3. # Vous pouvez éditer ces variables selon vos besoins
    4. SVN_ROOT="/srv/unit1/svn"
    5. SVN_TMP_PATH="/tmp/svn"
    6. $SVN_USER="svn"
    7. $SVN_GROUP="svn"
    8.  
    9. # Ce script doit être executé avec les droits de superutilisateur
    10. test -w /root;
    11. if [ ! "$?" -eq "0" ]; then
    12.         echo "Vous devez executer ce script en tant que superutilisateur."
    13.         exit 0
    14. fi
    15.  
    16. echo "#######################################"
    17. echo "Création d'un nouveau projet Subversion"
    18. echo "#######################################"
    19. echo ""
    20. echo "Tapez le nom du nouveau projet :"
    21. read PROJECT_NAME
    22.  
    23. if [ -z "$PROJECT_NAME" ]; then
    24.         echo "$PROJECT_NAME n'est pas un nom de projet valide.";
    25.         exit 0 
    26. fi
    27.  
    28. echo "Tapez maintenant le chemin du répertoire source :"
    29. echo "(Note: les répertoires trunk, branches et tags seront créés automatiquement)"
    30. read PROJECT_SOURCE_PATH
    31.  
    32. if [ -z "$PROJECT_SOURCE_PATH" -o ! -d $PROJECT_SOURCE_PATH ]; then
    33.         echo "$PROJECT_SOURCE_PATH n'est pas un répertoire valide.";
    34.         exit 0
    35. fi
    36.  
    37. echo "Création du projet $PROJECT_NAME depuis $PROJECT_SOURCE_PATH..."
    38.  
    39. # Si le répertoire $SVN_ROOT n'existe pas, on le crée
    40. if [ ! -d $SVN_ROOT ]; then
    41.         mkdir $SVN_ROOT
    42. fi
    43.  
    44. # Si le répertoire $SVN_TMP_PATH n'existe pas, on le crée
    45. if [ ! -d $SVN_TMP_PATH ]; then
    46.         mkdir $SVN_TMP_PATH
    47. fi     
    48.  
    49. # Création du répertoire du dépôt
    50. mkdir $SVN_ROOT/$PROJECT_NAME
    51.  
    52. # Création d'un répertoire temporaire de stockage avant import
    53. mkdir $SVN_TMP_PATH/$PROJECT_NAME
    54. mkdir $SVN_TMP_PATH/$PROJECT_NAME/branches
    55. mkdir $SVN_TMP_PATH/$PROJECT_NAME/tags
    56. mkdir $SVN_TMP_PATH/$PROJECT_NAME/trunk
    57.  
    58. # Copie des fichiers originaux dans le répertoire temporaire
    59. cp -R $PROJECT_SOURCE_PATH/* $SVN_TMP_PATH/$PROJECT_NAME/trunk/
    60.  
    61. # Création du dépôt et import depuis le répertoire créé
    62. svnadmin create $SVN_ROOT/$PROJECT_NAME
    63. svn import $SVN_TMP_PATH/$PROJECT_NAME file://$SVN_ROOT/$PROJECT_NAME -m "Initial import"
    64.  
    65. # Attribution des permissions à Apache sur le repertoire du dépot
    66. chown -R $SVN_USER:$SVN_GROUP $SVN_ROOT/$PROJECT_NAME
    67.  
    68. # Suppression du répertoire temporaire
    69. rm -rf $SVN_TMP_PATH/$PROJECT_NAME     
    70.  
    71. # Done !
    72. echo ""
    73. echo "Projet subversion $PROJECT_NAME créé avec succès dans $SVN_ROOT/$PROJECT_NAME !"
    Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/2032"></script>

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