Ça fait un petit moment que je cherche à avoir une gestion de configuration locale et distante avec un accès privé. Git permet de faire de la gestion de configuration locale assez facilement. De plus, je viens d’apprendre récemment que les serveurs mutualisés d’OVH proposent l’utilitaire git ! 😮

La version disponible sur les serveurs mutualisés semble assez ancienne et je n’ai pas trouvé la bonne méthode pour créer correctement un dépôt partagé. Cependant, je suis tombé sur la méthode de Nicolas Thouven pour créer un dépôt git sur un mutualisé OVH. Sa méthode consiste à créer localement un dépôt mutualisé puis à le déposer sur le serveur pour enfin le cloner localement ! Ça fonctionne très bien ainsi.

J’ai tellement de projets à passer sous git que j’ai même créé un script shell pour migrer un projet sous git avec un dépôt distant chez OVH. Voici le script que j’utilise et qui être adapté selon vos besoins :

#!/bin/bash
if (($#!=2)); then
echo "ligne de commande : $0 projet_source projet_destination"
exit -1
fi

WORKSPACE_DIR="/f/android/workspace-android"
GIT_REMOTE_PATH="monloginovh@mondomainovh.com:~/git_folder/"
GIT_URL="ssh://$GIT_REMOTE_PATH"

PROJECT_SRC=$1
PROJECT_SRC_DIR="$WORKSPACE_DIR/$PROJECT_SRC"
PROJECT_NAME=$2
PROJECT_GIT_NAME="$2.git"
PROJECT_DST_DIR="$WORKSPACE_DIR/$PROJECT_NAME"
PROJECT_TMP_DIR="~/$PROJECT_GIT_NAME"
PROJECT_URL="$GIT_URL$PROJECT_GIT_NAME"

echo "Creation d'un projet GIT pour $PROJECT_SRC_DIR"
cd $PROJECT_SRC_DIR
echo "bin" > .gitignore
git init
git add .
git commit -m "Version initiale"

echo "Creation du depot de reference dans $PROJECT_TMP_DIR"
cd $PROJECT_SRC_DIR
git clone --bare . $PROJECT_TMP_DIR
cd $PROJECT_TMP_DIR
git --bare update-server-info
cd hooks/
mv post-update.sample post-update
chmod a+x post-update

echo "Copie sur le serveur $GIT_REMOTE_PATH"
scp -r $PROJECT_TMP_DIR $GIT_REMOTE_PATH
cd $WORKSPACE_DIR
rm -Rf $PROJECT_TMP_DIR

echo "Utilisation du depot de reference $PROJECT_URL pour $PROJECT_DST_DIR"
git clone $PROJECT_URL
cd $PROJECT_DST_DIR
touch README
git add README
git commit -m "Ajout du fichier README"
git push

Vous allez pouvoir créer maintenant vos dépôts privés en toute simplicité ! 😉 Il ne me reste plus qu’à trouver un plugin git pour Eclipse digne de ce nom…