Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

: Gérez vos dépôts subversion avec USVN

Posté par Julien Duponchelle (page perso, ). Modéré le 30 mai 2007.
Userfriendly SVN est une interface web permettant la configuration de dépôts Subversion. Cette interface permet de facilement créer de nouveaux projets sans le client en ligne de commande et donc avoir un accès privilégié sur le serveur. USVN se chargera ensuite de gérer la liste des utilisateurs autorisés à récupérer votre code source. Cela permet de déléguer l'administration de vos dépôts Subversion.

USVN permet un accès facile à la gestion fine des droits d'accès sur les fichiers de subversion. Cela permet par exemple de n'autoriser aux traducteurs des modifications que sur les fichiers de traduction en quelques clics.

Les fonctionnalités supportées par USVN pour cette version sont :
  • Création et suppression de dépôt USVN
  • Génération du fichier htpasswd à partir de la liste d'utilisateurs d'USVN
  • Gestion fine des droits sur les fichiers sur le Subversion.
USVN est un projet Open Source redistribué sous licence CeCILL.

> Lire la dépêche (28 commentaires, moyenne: 2,3).  

Vous avez demandé le commentaire #837519.

Je vois pas le rapport

Posté par Sébastien Douche () le 30/05/2007 à 12:38. (lien). Évalué à 7.


USVN part du constat que Subversion est un outil fantastique, mais qu'on n'utilise qu'une partie de ses capacités. Par fainéantise, on ne crée pas toujours un dépôt par projet, mais on met tout dans le même perdant ainsi la gestion de branche et de tags. On exploite rarement aussi la capacité de Subversion à donner des droits très fins sur un fichier ou un dossier du dépôt.


Ca ne choque que moi cette partie ? Quel est le rapport entre la création d'un dépot par projet et la gestion fine ? On peut avoir plusieurs projets dans le même dépot avec les branches / tags (heureusement). De même il est possible de gérer les droits correctement dans un seul dépot.

Pour moi la création de dépôts est plus de l'ordre de l'administration système (partition, sauvegarde...) ou du découpage fonctionnel de la boite (par client, par pole d'activité..) que technique.

  • [^]Re: Je vois pas le rapport

    Posté par Laurent J (page perso, ) le 30/05/2007 à 13:55. (lien). Évalué à 5.

    ouai enfin, personnellement, je ne suis pas fan de mettre une plethore de projets dans un même dépot. Les numéros de versions (commits) n'ont alors plus de sens. Un numéro de version est censé representé un état N d'un projet. Si il y a plusieurs projets, alors pour un projet donné, il y a pleins de numéro de versions qui correspondent à un même état de ce projet.

    Ça passe pour des projets de 10 lignes qu'on regroupe dans un même dépôt. Pour un projet minimum sérieux, il devrait avoir son propre dépôt.

    Un exemple que je trouve justement mauvais est sur le projet KDE : je trouve la gestion de leur dépôt carrément bordélique. Je ne comprend pas l'intérêt de regrouper tous les projets dans un même dépôt. Surtout que subversion permet de lier les dépôts entre eux avec la propriété svn:externals sur les répertoires.

    • [^]Re: Je vois pas le rapport

      Posté par Bozo le clown () le 30/05/2007 à 15:06. (lien). Évalué à 4.

      Le no de révision ne devraient pas être utilisés pour reférencer des baseline du projet. Il faut utiliser les cheap copy et organiser son arborescence en conséquence (sous-répertoires branches et label) et extraire depuis ses répertoires en lecture ou en écriture.

      Sinon l'interêt de séparer les dépots, c'est les performances (taille de la db) et également le fait d'eviter des fausses manips. (genre je copie la dernière version de mon projet au mauvais endroit i.e. sous l'arborescence d'un autre projet.

      [^]Re: Je vois pas le rapport

      Posté par Frédéric COIFFIER () le 31/05/2007 à 08:11. (lien). Évalué à 2.

      Effectivement, c'est l'organisation que j'ai mis en oeuvre dans ma boîte : un dépot SVN et un Trac par projet. Ca permet d'archiver facilement d'anciens projets et je règle les droits accès pour chaque projet indépendemment.
      Après la propriété svn:externals, elle est a double tranchant, par exemple quand on veut faire un tag d'un projet qui inclut du code extérieur en svn:externals.

      • [^]Re: Je vois pas le rapport

        Posté par Barnabé () le 31/05/2007 à 10:24. (lien). Évalué à 4.

        Quand on inclut du code extérieur en svn:externals, il est fortement recommandé d'associer un numéro de révision du projet exterieur à la propriété. Dans ce cas, la création d'un tag ne pose aucun problème.

        [^]Re: Je vois pas le rapport

        Posté par okparanoid () le 31/05/2007 à 18:33. (lien). Évalué à 1.

        Je vais devoir mettre en place le meme systeme. Est-ce que tu as un pointeur sympa sur un tutoriel qui explique comment faire ?

        Quand tu dis un trac par projet ca necessite de l'installer manuellement autant de fois que de projets ou c'est parametrable dans trac (creation de plusieurs instances) ?

        Merci

        • [^]Re: Je vois pas le rapport

          Posté par Frédéric COIFFIER () le 09/06/2007 à 16:04. (lien). Évalué à 2.

          En fait, non, je n'ai pas de tutoriel, j'ai juste une petite note qui liste les différentes actions à effectuer :
          - svnadmin pour créer un repository Subversion
          - tracadmin pour créer un projet Trac que je fais pointer sur le repository Subversion
          - Ajout des entrées dans la config Apache pour l'accés à Subversion d'un côté et aux pages du projets Trac de l'autre côté
          - Un fichier d'authentification Apache pour l'accès à Trac et à Subversion
          - Installation des scripts hooks dans le repository Subversion du nouveau projet (ce qui permet de faire le lien entre un commit Subversion et un ticket Trac)

          Je n'ai rien automatiser vu que je crée un nouveau projet tous les 2-3 mois et qu'ensuite, je dois plus ou moins personnaliser les projets (composants, roadmap Trac, etc...)

    [^]Re: Je vois pas le rapport

    Posté par Julien Duponchelle (page perso, ) le 30/05/2007 à 14:11. (lien). Évalué à 2.


    Ca ne choque que moi cette partie ? Quel est le rapport entre la
    création d'un dépot par projet et la gestion fine ? On peut avoir
    plusieurs projets dans le même dépot avec les branches / tags
    (heureusement). De même il est possible de gérer les droits
    correctement dans un seul dépot.

    Nous ne disons pas que la gestion des droits fine est impossible, mais que la façon dont est faite la configuration est actuellement un peu lourde, surtout que l'on peut difficilement la déléguer, car il
    faut que les utilisateurs aient les droits sur le fichier en question.
    Alors que notre interface permet de le faire en quelques clics.



    Pour moi la création de dépôts est plus de l'ordre de l'administration
    système (partition, sauvegarde...) ou du découpage fonctionnel de la
    boite (par client, par pole d'activité..) que technique.

    Effectivement, c'est une manière de voir les choses qui se justifie.
    Mais avec cette approche, on ne peut pas mettre de hooks propres à
    un projet (enfin c'est faisable en bricolant les scripts, j'en conviens,
    mais ce n'est pas très "user friendly"). Un deuxième problème est que l'on ne peut pas avoir un Trac par projet. (je sais que c'est un problème spécifique, mais dans notre utilisation c'est un problème)


    En conclusion, je dirais que l'on peut tout faire avec subversion, mais
    que cette souplesse a un prix qui est celui de la simplicité.

    • [^]Re: Je vois pas le rapport

      Posté par kaouete (page perso, ) le 30/05/2007 à 14:38. (lien). Évalué à 2.

      On peut avoir plusieurs projet dans un seul dépot svn et un trac par projet.

      Par contre on ne peut pas _gérer_ plusieurs dépots ni projets avec un trac (bien qu'on peut avoir un trac pour plusieurs projets dans un même dépot ... je sais pas si vous me suivez là : )

      • [^]Re: Je vois pas le rapport

        Posté par ccomb (Jabber id, page perso, ) le 31/05/2007 à 09:43. (lien). Évalué à 2.

        Tiens puisqu'on en parle, est-ce qu'il est possible avec SVN de séparer une zone correspondant à un projet vers un nouveau dépôt ?

        J'ai plusieurs projets dans un même dépôt et pour l'instant ça me va, mais j'aimerai avoir la possibilité à terme d'extraire un projet et de le mettre dans son propre dépôt et conservant tout l'historique, c'est possible ?

        • [^]Re: Je vois pas le rapport

          Posté par Julien Duponchelle (page perso, ) le 01/06/2007 à 08:34. (lien). Évalué à 1.

          Je suis sur que c'est faisable mais je ne suis pas sur qu'un outil le fasse actullement en automatique.

          Jette peut etre un oeil a svn-mirror.

          [^]Re: Je vois pas le rapport

          Posté par Olivier Serve (Jabber id, page perso, ) le 01/06/2007 à 08:37. (lien). Évalué à 1.

          Oui, c'est possible.


          svnadmin create /var/svn/repos2
          svnadmin dump /var/svn/repos | svnadmin load /var/svn/repos2


          Puis supprimer ce qui dépasse dans repos2. C'est pas très propre, mais c'est le seul moyen que j'ai trouvé pour garder l'historique des révisions.

          • [^]Re: Je vois pas le rapport

            Posté par nigaiden () le 01/06/2007 à 11:52. (lien). Évalué à 1.

            Il y a quelques infos là-dessus dans une section du SVN book [http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.(...)]; en plus de svnadmin il faut utiliser l'outil svndumpfilter pour ne garder que ce que l'on veut. Je n'ai jamais testé mais cela à l'air faisable sans trop de difficultés.

      [^]Re: Je vois pas le rapport

      Posté par Sébastien Douche () le 31/05/2007 à 08:35. (lien). Évalué à 4.


      Un deuxième problème est que l'on ne peut pas avoir un Trac par projet. (je sais que c'est un problème spécifique, mais dans notre utilisation c'est un problème)


      Euh, pas du tout, puisque je fais comme ça tout le temps. Un projet Trac peut pointer sur n'importe quel noeud d'une arbo SVN, la racine du dépot comme un sous répertoire. Donc si tu as un projet dans /mondépot/projet1/, tu donnes à Trac ce lien comme racine du projet et ça roule. Trac est vraiment très souple.

      • [^]Re: Je vois pas le rapport

        Posté par Julien Duponchelle (page perso, ) le 31/05/2007 à 08:43. (lien). Évalué à 1.

        Effectivement autant pour moi en parcourant la doc je ne l'avais pas vu.