Le Blog du Geek Joyeux

Plus moins vite tu codes, moins plus vite ça plante

Changer facilement la configuration proxy de SVN

| Commentaires

Comme de nombreux développeurs, je suis très souvent amené à utiliser SVN (Subversion). Comme de nombreux développeurs toujours, je suis amené à partir en mission chez différents clients qui ont chacun leur proxy. Pour peu qu’on en ait déjà un au boulot ou chez soi, ça devient vite fatiguant de jongler entre ces différentes configurations.

Voici donc une petite astuce toute bête pour se rendre la vie facile.

Configurer un proxy dans subversion

Première étape, savoir où se configure les proxies dans subversion. Tout cela se passe dans le fichier ~/.subversion/servers où l’on peut trouver les lignes suivantes :

1
2
3
4
# http-proxy-host = 
# http-proxy-port = 3128
# http-proxy-username = 
# http-proxy-password =

Comme on peut le voir, il est facile de configurer un proxy selon le serveur svn que l’on veut atteindre. C’est très bien, seulement ça ne nous aide pas. Nous ce n’est pas le serveur qui change mais l’environnement de travail !

Comment se sauver la vie

Tout d’abord il faut créer un fichier servers par environnement. Idéalement on les place dans le dossier ~/.subversion avec un nom comme env1_servers, env2_servers (en ce qui me concerne je prends 3 lettres représentatives de l’environnement).

Pensez à renommer le fichier servers existant, en def_servers par exemple car servers va devenir un lien symbolique vers le fichier qui nous intéresse.

On pourrait se contenter ce ça et s’amuser à appeler ln -s à tout bout de champ, voir même créer un alias comme ln -s ~/.subversion/env1_servers ~/.subversion/servers mais honnêtement, une solution pérenne (quel horrible mot) serait bien plus agréable.

Voici donc une petite fonction shell qui va nous faciliter grandement la vie !

1
2
3
4
5
6
7
8
# switch de profile svn
svnpro() {
  if [ -f ~/.subversion/$1_servers ]; then
    ln -nfs $1_servers ~/.subversion/servers
  else
    echo "$1_servers n'existe pas."
  fi
}

Et voila, il nous suffit maintenant de l’appeler de la manière suivante et notre configuration de proxy changera.

1
2
svnpro env1
svnpro env2

Commentaires