mercredi 6 février 2013

Configuration de Subversion pour Eclipse avec Subclipse

"Subclipse" ( le plugin Eclipse pour Subversion ) est un classique.
Cependant, son utilisation avec un proxy peut poser quelques problèmes.
Il n'est pas rare d'être confronté à l'erreur suivante :
RA layer request failed svn: OPTIONS of ... 
quand la connexion change (avec proxy, sans proxy, changement de proxy, etc... )

Le premier réflexe est d'aller voir la configuration du proxy dans Eclipse, mais rien n'y fait.
L'explication est que si on utilise l'interface JavaHL JNI (cf "Window/Preferences/Team/SVN - SVN interface" ) c'est la configuration native de Subversion (au niveau du système d'exploitation) qui est utilisée. 

Il faut donc descendre d'un niveau et aller vérifier la configuration de la couche cliente de Subversion dans les  fichiers du système.

Sous Windows, à l'emplacement de la configuration de l'utilisateur se trouve un répertoire "Subversion"
( quelque chose du genre "C:\Documents and Settings\(USERNAME)\Application Data\Subversion"
ou "(USERS)\(USERNAME)\AppData\Roaming\Subversion" sous Windows 7 )

Dans ce répertoire, on trouve les fichiers "config" et "servers" :
. "config" sert à configurer le comportement "côté-client"
. "servers" sert à configurer les paramètres de connexion au serveur et notamment le proxy

Il suffit donc d'éditer le fichier "server" avec un éditeur de texte et de vérifier la configuration du proxy :
  • http-proxy-host = le.serveur.proxy
  • http-proxy-port = le.port.du.serveur.proxy
  • (et les autres paramètres du proxy si nécessaire )

Quand cette configuration est correcte, l'utilisation de Subclipse ne pose plus de problème, même en supprimant la configuration du proxy dans Eclipse !

Une autre méthode consiste à utiliser TortoiseSVN http://tortoisesvn.net/ ) pour gérer la configuration native de Subversion ( "Settings/Network" ) ce qui permet également de tester la connexion indépendamment d'Eclipse.

Voir aussi  http://java-espresso.blogspot.fr/2011/09/orgtigrissubversionjavahlclientexceptio.html