jeudi 28 juin 2012

Subversion et les dépôts externes

Logo subversion

Subversion offre une manière intéressante d'inclure le contenu d'un dépôt dans un autre dépôt. C'est très utile, par exemple, lorsque vous avez un dépôt avec des routine génériques que vous voulez utiliser dans plusieurs projets sans avoir à dupliquer le code commun dans chacun de ces dépôts (pour des raisons évidentes de maintenabilité).

Attention, il s'agit ici de code commun et, en aucun cas de dépendances. Il existe des outils pour gérer les dépendances dans de multiples langages (Maven, Ivy, Gradle pour Java, PEAR pour PHP ....). Ces dépendances n'ont rien à faire dans le dépôt d'un gestionnaire de code source.

Attention (bis): l'utilisation de cette fonctionnalité crée, d'une certaine manière, une dépendance à Subversion, tous les outils de gestion de source ne la possédant pas (toutefois, Git possède un mécanisme similaire...).

En utilisant la propriété svn:externals, vous pouvez indiquer à subversion de récupérer le contenu d'un dépôt externe dans un répertoire donné.

Lire la suite...

lundi 13 février 2012

Sortie de Subversion 1.7.3

Logo subversion

Subversion version 1.7.3 vient de sortir: http://subversion.apache.org/downlo....

Le changement le plus notable est l'ajout dans la version standard du module apache mod_dontdothat. Ce module permet de bloquer certains types de requêtes Subversion. Il est conçu pour empêcher les utilisateurs de faire des choses particulièrement brutales pour le serveur comme tout récupérer depuis la racine ou la totalité des répertoires tags ou branches. Il fonctionne en ajoutant un filtre d'entrée à toutes les requêtes REPORT et en recherchant celles de type dangereux. S'il en trouve une, il renvoie une erreur 403 Forbidden.

Lire la suite...

jeudi 26 janvier 2012

Subversion: installation

Logo subversion

Le gestionnaire de source est la brique de base indispensable à toute tentative d'industrialisation des développements. Voici maintenant une petite procédure d'installation d'un serveur Subversion, dernière version (donc 1.7.2 à ce jour) sur un serveur Debian Lenny qui utilisera tant que possible les paquets et qui s'appuiera en outre sur:

  • un serveur HTTP Apache série 2.2
  • un serveur de messagerie Postfix
  • un navigateur de dépôts de source WebSVN qui fera l'objet d'un autre billet.

Lire la suite...