2009-06-02 8 views
1

Voici d'abord un peu de contexte sur ce que je veux réaliser. J'écris une petite application Django pour la gestion de projet de base, quelque chose comme un code Google simplifié et je veux une intégration SVN étroite, ce qui signifie que je veux être capable de gérer les droits d'accès des utilisateurs. Je souhaite également que mon application crée le référentiel lors de la création d'un projet, comme le fait le code Google.Quelle est la configuration optimale pour servir plusieurs projets avec Subversion?

Maintenant le problème:

je pourrais servir un seul dépôt et entasser tous mes projets dans un dossier racine (comme je le fais actuellement) ou lancer un démon svnserve pour chaque dépôt.

Je ne peux pas utiliser la configuration de serveur unique car tous les projets seraient traités comme un grand projet, rendant inutile la numérotation des numéros de révision et la gestion des droits de projet impossible (enfin, je pense).

J'ai trouvé cet article qui décrit la plupart du temps ce que j'allais faire:

http://articles.slicehost.com/2007/9/6/multiple-repositories-and-subversion

Cependant, mon collègue pense que c'est un surpuissant et je ne devrais pas le faire.

Pour ma part, je pense que vu que je n'irai presque jamais plus de 100 projets, c'est un non-problème. Et même si j'avais 500 projets actifs de manière irréaliste, le serveur devrait probablement faire face à 500 processus inactifs.

Qui a raison?

Ou devrais-je opter pour autre chose, comme Mercurial?

Répondre

1

IIRC Apache a opté pour un grand dépôt v.s. beaucoup de petits dépôts. Je crois que les différences qui déterminent le choix de l'approche sont les plus prononcées si vous devez partager du code entre des référentiels. Certains outils et opérations ne fonctionnent tout simplement pas bien avec des référentiels distincts. Si je me souviens, il y avait quelques commentaires détaillés dans les notes de publication pour les dernières versions de TortoiseSVN et/ou Subversion qui ont mentionné certaines de ces limitations. J'ai personnellement frappé quelques-unes de ces mines terrestres, en particulier lorsque je travaillais avec des dépôts de tierces parties. FWIW - J'utilise des dépôts séparés puisque je travaille pour de nombreux clients différents. VisualSVN Server, également mentionné par Malfist, est très bien que vous soyez sur Windows et qu'il est trivial de configurer plusieurs référentiels. Faire la même chose manuellement à partir de zéro nécessite beaucoup plus d'expertise, surtout si vous utilisez Apache HTTPD comme frontal. Apache est l'approche préférée, surtout si vous exposer la SNV à Internet ou si vous avez besoin de plus de contrôle sur l'accès.

2

Optez pour plusieurs référentiels. C'est ce que je fais, ce n'est pas exagéré. J'utilise quelque chose comme VisualSVN Server Manager pour les gérer. Il peut même configurer https et un serveur Apache réduit pour vous. (fenêtres seulement)

Questions connexes