Les protocoles SVN et HTTP peuvent-ils être utilisés en toute sécurité sur le même référentiel simultanément?

Nous aimerions évaluer si le protocole SVN fonctionne mieux pour notre équipe que HTTP, mais nous ne voulons pas nous engager pour le moment avec un commutateur complet.

En ce moment, nous avons un serveur Apache servant notre repository principal. Pouvons-nous utiliser svnserve.exe en toute sécurité avec le même référentiel afin que certains de nos développeurs puissent le tester? Ma première supposition est que nous pouvons, mais nous ne voulons pas risquer de corrompre notre référentiel.

Oui c’est possible. Le livre officiel SVN contient un chapitre consacré à cette situation: http://svnbook.red-bean.com/en/1.5/svn.serverconfig.multimethod.html . Il y a quelques pièges mais ils ont plus à voir avec les parameters de permission.

Exactement, Subversion est conçu pour prendre en charge les access simultanés via plusieurs protocoles, ce qui entraîne des problèmes majeurs avec CVS. Vous pouvez non seulement utiliser http: // et svn: //, mais aussi file: // (si vous travaillez localement sur la machine, par exemple avec un outil d’continuous integration ou un autre hook post-commit) https: / /, svn + ssh: //, etc.

D’après mon expérience, une méthode ne s’est pas avérée objectivement «meilleure» que l’autre, mais chacune présente certains avantages. Par exemple, Apache est extrêmement compétent pour gérer un grand nombre d’access à la fois. D’un autre côté, si vous n’utilisez pas déjà Apache, ou si vous ne voulez pas le faire gérer le trafic SVN, le démon svnserve est léger et très performant. Sur mon Mac, j’ai configuré svnserve en utilisant launchd pour démarrer uniquement lorsqu’une demande est reçue, de sorte qu’il n’utilise aucune ressource lorsqu’il n’y a pas d’activité de référentiel. Ce qui fonctionne le mieux sera en grande partie un facteur des modèles d’access que vous voyez dans la pratique.