Svn external

Lorsque l’on développe on peut avoir besoin de libs externe. Et cela devenir rapidement un calvaire pour être sur que tous les développeurs utilisent la même version.

Une solution pourrait être de copier la lib dans votre dépôts subversion. Mais c’est moche à chaque release vous devez supprimer les anciens fichiers, mettre les nouveau… Et en plus cela va encombrer votre SVN.

Un autre problème c’est que pouvez travailler dans une société qui écrit son propre framework qui a son dépôt SVN. L’idéal que quand une modification est faite dans ce dépôt elle soit automatiquement répercuté dans votre dépôt.

Et bien SVN propose une solution simple et élégante. Il s’agit de la propriété svn:externals il vous suffit de dire qu’un dossier va être associé à un dépôt subversion externe. Et quand vous ferez un update dans votre projet un update sera fait dans les dépôts externe.

Par exemple pour récupérer la version 0.9.2 du Zend Framework dans un dossier Zend de votre projet:

svn propedit svn:externals .

Un éditeur s’ouvre et saisissez:

Zend/ http://framework.zend.com/svn/framework/tag/release-0.9.2/library/Zend/

Vous pouvez mettre un répertoire par ligne. Si Zend sort une version 0.9.3 je n’aurais qu’à éditer la propriété puis faire un commit pour que tous les développeurs passent à la version 0.9.3 à leur prochain update.

Maintenant faite un svn update pour récupérer les sources de Zend. Puis un svn commit pour que tous les développeurs ai accès au nouveau dépôt.

http://svnbook.red-bean.com/en/1.0/ch07s03.html