Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
informatique:subversion [29/04/2010 22:15] – cyrille | informatique:subversion [11/06/2010 15:30] – cyrille |
---|
====== SubVersion ====== | ====== SubVersion ====== |
| |
Le site officiel : http://subversion.tigris.org/ \\ | Le site officiel : http://subversion.apache.org (anciennement http://subversion.tigris.org) \\ |
et son [[http://www.svnforum.org/|Forum]] | et son [[http://www.svnforum.org/|Forum]] |
| |
* [[informatique:TortoiseSVN]]. | * [[informatique:TortoiseSVN]]. |
| |
Interface d'administration de dépôts: | Interface Web d'administration de dépôts: |
* [[http://www.usvn.info|User-Friendly SVN (USVN)]] (fr!) | * [[http://www.usvn.info|User-Friendly SVN (USVN)]] (fr!) en Php sur la base du Zend Framework. //J'ai pas réussi à l'installer, après le script d'install, il y avait des tables mais toutes vides, du coup impossible de se logger en admin...// |
| * [[http://code.google.com/p/svn-web-admin|SVNWebAdmin]] en Java |
| |
===== Tips & Tricks ===== | ===== Tips & Tricks ===== |
| |
find ./repertoireDeDepart -type d -name ".svn" | xargs rm -rf | find ./repertoireDeDepart -type d -name ".svn" | xargs rm -rf |
| |
| ==== Freeze des externals ==== |
| |
| Afin de bénéficier facilement des plugins développés dans les différentes applications, nous utilisons une fonctionnalité du gestionnaire de source : la propriété "[[http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html|svn:externals]]". Cette propriété permet de faire référence à un autre endroit du dépôt ou à un dépôt externe qui sera automatiquement remonté lors du checkout et des updates. On a donc pour chaque déclinaison de site, une application qui référence via des "svn:externals" les plugins communs. Chaque déclinaison peut surcharger leurs fonctionnalités dans les répertoires qui leurs sont propres. |
| |
| Afin de pouvoir garantir la cohérence entre les différentes versions et sécuriser déploiement, maintenance et montées de version, les conventions branches et tags classiques de Subversion peuvent être appliquées. Ces conventions doivent être utilisées à la fois pour les plugins et pour les applications. Il suffit alors de faire pointer les svn:externals vers des branches/tags particuliers pour s’assurer de la maîtrise de l’application. |
| |
| Nous avons baptisé cette procédure le "freeze" des externals. Elle consiste, lorsqu’on tagge une application, à modifier les références dans les externals afin de ne plus remonter les mises à jours de plugins lors de futurs "svn up". Deux méthodes sont envisageables : |
| |
| * modification des chemins de "svn:externals" pour pointer vers le tag correspondant |
| * "svn copy" des plugins internes vers le tags de notre application. On obtient une structure cohérente avec tout le code intégré et on bénéficie de l’historique des plugins grâce au svn copy. Les plugins externes peuvent être rapatriés par un "svn export". |
| |
| Lire la suite: [[http://www.clever-age.com/veille/blog/industrialisation-de-projets-multi-sites.html|Organisation des sources]] |
| |
| |