La plupart de développeurs qui utilisent bower travaillent avec Git. Mais quand est-il de l’utilisation de bower avec SVN ?
Si vous êtes sur cette page je présume que bower est déjà installé sur votre poste et que vous avez eu le même problème que moi, vous n’arrivez pas à utiliser bower avec un SVN privé. Dans un premier temps je vous conseil d’essayer avec un repo public, entrez dans votre invite de commande la ligne suivante (j’ai utilisé le repo public de subersion comme repo public svn, SVNception !)
bower install svn+http://support.googlecode.com/svn/
Pour info ne mettez pas /trunk puisque bower se charge de faire un svn list de tags et si aucun tags n’est demandé il prend le trunk par défaut.
Normalement si tous se passe bien dans votre dossier bower_components un dossier svn qui contient le contenu du trunk.
Maintenant comme faire pour un repo privé ?
J’ai essayé plusieurs solutions comme passer le login:motdepass@mon_url mais sans succès. 🙁
Clairement bower supprime ces informations de l’url. Ce qu’il faut donc, c’est sauvegarder dans les credentials SVN votre login et mot de passe. Mais, comment faire ?
Sous macos il suffit de vérifier que dans le fichier ~/.subversion/config la ligne suivante est bien à yes (si commenté la valeur par défaut est yes)
store-passwords = yes
Dans le fichier ~/.subversion/servers créez un group
[groups] othergroup = *.mon_host_svn.com # thirdgroup = *.example.com ### Information for the first group: [group1] http-proxy-host = *.mon_host_svn.com http-proxy-port = 80 http-proxy-username = monlogin http-proxy-password = monpassword
Normalement si tous ce passe comme prévu vous ne devriez plus avoir à vous connecter pour utiliser svn.
Le premier test à faire un checkout du repo
svn co http://mon_host_svn.com/repos/trunk
Dans le cas où macos demande l’autorisation d’accès au trousseau, pensez à toujours l’autoriser sinon cela ne fonctionnera pas.
Vous pouvez maintenant télécharger avec svn votre repos privé avec bower
bower install svn+http://mon_host_svn.com/repos/
(sans le trunk)