Journal Quel système de versionning choisir ?

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
26
avr.
2005
Bonjour,

Après CVS, après subversion, voici venu Bazaar-ng, construit au dessus de Arch (si je ne m'abuse) : http://www.bazaar-ng.org/(...)

Je souhaite mettre en place un serveur dont les utilisateurs ayant accès SSH pourront créer et gérer leurs projets et les utilisateurs de leurs projets.

Subversion, avec apache2, répond parfaitement au besoin sauf qu'il semble y avoir de gros problèmes de permissions (apache ne peut pas écrire dans un répertoire de projet, il faut donc chowner :www-data sur le répertoire, mais du coup apache crée des fichiers que l'utilisateur ne peut pas modifier, etc... c'est pas très pro(pre) ).

J'aimerais donc votre avis sur les différents logiciels de versioning : a) du point de vue de l'utilisateur final, b) du point de vue de l'administrateur du serveur qui aimerait mettre en place une solution comme ce que j'ai décrit.

Je suis interressé par vos expériences et surtout particulièrement curieux à propos de bazaar-ng, que je ne connais pas.

Merci et bonne journée à tous !
  • # Ma petite experience (3 dev pour un dépot subversion)

    Posté par  . Évalué à 1.

    On était 3 dev pour un petit projet, subversion ca marche nickel !!!


    "Subversion, avec apache2, répond parfaitement au besoin sauf qu'il semble y avoir de gros problèmes de permissions (apache ne peut pas écrire dans un répertoire de projet, il faut donc chowner :www-data sur le répertoire, mais du coup apache crée des fichiers que l'utilisateur ne peut pas modifier, etc... c'est pas très pro(pre) )."

    Je comprends pas tout... Tu peux expliquer ?


    "Je souhaite mettre en place un serveur dont les utilisateurs ayant accès SSH pourront créer et gérer leurs projets et les utilisateurs de leurs projets."
    Je me trompe peut-etre mais il me semble que tu ne peux pas faire ca, seul l'administrateur de la mahcine peut modifier les droits d'acces en modifiant les fichiers de config...



    Sinon le bon companion de subversion est trac http://www.edgewall.com/trac/(...)
    • [^] # Re: Ma petite experience (3 dev pour un dépot subversion)

      Posté par  . Évalué à 4.

      "Subversion, avec apache2, répond parfaitement au besoin sauf qu'il semble y avoir de gros problèmes de permissions (apache ne peut pas écrire dans un répertoire de projet, il faut donc chowner :www-data sur le répertoire, mais du coup apache crée des fichiers que l'utilisateur ne peut pas modifier, etc... c'est pas très pro(pre) )."

      Je comprends pas tout... Tu peux expliquer ?


      Je pense que c'est le probleme classique du fait d'acceder au repository a la fois en svn+ssh:// et par http(s)://, ce qui est galere a gerer au niveau des permissions (comme c'est documente dans le svn-book d'ailleurs). Le mieux est de s'en tenir a apache2, qui gere tout ce qu'il y a gerer, et permet un gestion a priori assez fine des permissions en lecture/ecriture sur le repository.
  • # a propos d'apache

    Posté par  (site web personnel) . Évalué à 2.

    si je ne m'abuse Apache 1 peut tout a fait changer de UID selon le contexte :
    http://httpd.apache.org/docs/mod/core.html#user(...)

    d'ailleurs, cela est utile pour des trucs genre wwsympa et autres.


    pour apache 2 , le MPM-perchild ( qui est experimental ) :
    http://httpd.apache.org/docs-2.0/mod/perchild.html(...)
  • # Umask

    Posté par  (site web personnel) . Évalué à 2.

    Pour que les fichiers crées par Apache soit modifiables par le groupe d'utilisateurs auquel il appartient, j'ai ajouté une ligne à mon /etc/init.d/apache juste après la déclaration des differentes variables :

    umask 003

    Ca équivaut (il me semble) à 774 pour les permissions.

    Théoriquement, un umask 000 équivaut à un 777 donc c'est lecture/ecriture/execution pour tout le monde. Il faut voir ce que c'est comme fichiers, mais ça risque de poser d'éventuels problemes de sécurité.
  • # Une très bonne discussion, pas si vieille...

    Posté par  (site web personnel) . Évalué à 3.

    Peut-être trouvera tu ton bonheur dans cette précédente discussion qui m'a fait découvrir darcs :
    http://linuxfr.org/~mammique/17910.html(...)
  • # Gestion des autorisations SVN

    Posté par  (site web personnel) . Évalué à 3.

    Bonjour,

    je m'étonne un peu devant ce que tu dis :
    "Subversion, avec apache2, répond parfaitement au besoin sauf qu'il semble y avoir de gros problèmes de permissions"

    Effectivement, si tu veux offrir un accès via webdav, il faut que le répertoire contenant le repository svn appartient à l'utilisateur qui a les droits déclarés dans le httpd.conf (souvent apache).

    Une fois, cela positionné, tu peux toujours affiner les droits de chaque utilisateur via le module mod_authz_svn qui permet de gérer des droits d'accès par répertoire par utilisateur ou par groupe.

    Maintenant cette approche t'oblige à utiliser la connexion via webdav donc du type :
    svn [command] http[s]://mon.plus.beau.serveur.com/subversion/

    Et cela même en local.

    Voilà pour le problème de gestion de droits avec subversion.
    En espérant avoir été assez clair.

    --
    C01N C01N
  • # ueberp

    Posté par  . Évalué à 1.

    Salut,

    Je me posais récemment la question d'un CVS-Like qui pourrait tourner comme un service web avec un serveur PHP et une base de données derrière.

    Un ami m'a indiqué un projet qui semble faire ça :
    ueberp : http://sourceforge.net/projects/ueberp(...)

    Je ne l'ai pas testé, car mon idée était de faire ça sur un espace free.fr et le projet utilise des bases PostGres.

    Quelqu'un connait-il ce système ?
  • # ACL

    Posté par  (site web personnel) . Évalué à 1.

    Tu peux pas utiliser les ACL sur le système de fichier où il y a le repository ?

    comme ça, tu donnes les droits à apache2 et à l'utilisateur.
  • # Subversion

    Posté par  . Évalué à 2.

    > Subversion, avec apache2, répond parfaitement au besoin sauf qu'il semble y avoir de gros problèmes de permissions

    Quoi ?!?!

    C'est la même chose avec tout serveur.

    Exemple ici :
    [groups]
    users = xxx xxx xx
    admin = admin

    [/]
    * = r

    [/]
    @admin = rw

    [/kernel/branches]
    @admin = rw
    [/kernel/tags]
    @admin = rw
    [/kernel/trunk]
    @users = rw


    Bref, t'as pratiquement un système d'ACL.
  • # bazaar-ng

    Posté par  (site web personnel) . Évalué à 6.

    bazaar-ng n'est pas construit "au dessus" de GNU Arch, c'est un projet séparé, écrit "from scratch". Par contre, c'est écrit par Martin Pool, qui connait assez bien GNU Arch et qui a en tous cas une très bonne analyse de ses forces et de ses faiblesses. Son but est de reprendre les bons coté de Arch en essayant de piocher aussi des bonnes idées ailleurs. C'est un projet très jeune, je ne l'ai pas encore testé, mais a mon avis, c'est a la fois très prometteur et loin d'être fini.

    bazaar, par contre, est un fork de tla, le client original pour GNU Arch.

    Les deux projets sont sponsorisés par Canonical.
    • [^] # Re: bazaar-ng

      Posté par  . Évalué à 2.

      Et bazaar-ng est écrit en Python, et devrait donc être compatible avec la plupart des systèmes d'exploitation possédant un interpreteur Python.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.