Comment obtenir la réplication maître-maître avec Subversion?
Semble être un problème simple:
- J'ai un repo SVN à l'intérieur de notre pare-feu.
- J'ai un repo SVN à l'extérieur de notre pare-feu.
- J'ai les utilisateurs à l'intérieur et à l'extérieur, le pare-feu. (pas de VPN n'est pas une option 🙁 ce serait trop facile)
- machines à l'intérieur du pare-feu PEUT parler à l'extérieur serveur SVN. Mais pas dans l'autre sens.
- l'extérieur SVN est une chose temporaire - le principal repo sera toujours à l'intérieur.
Je veux en quelque sorte (à partir de l'intérieur, le plus probable) de prendre toutes les modifications dans un, et de les appliquer à l'autre. Et vice-versa. Semble simple, et je suppose que les goûts GIT peut le faire, mais nous sommes en utilisant SVN.
Quiconque fait cela? Cela ne me dérange pas d'être un processus manuel - il ya seulement un couple de personnes extérieures, et ils n'ont pas besoin de mises à jour à la minute, deux ou trois fois par jour ferait.
Je crois apache.org fait cela, mais je ne trouve pas de docs sur la manière de le faire. Il ya quelques produits là-bas qui le faire (enfin, une), mais j'aimerais savoir si quelqu'un a une façon agréable et propre pour le faire sans eux. svnsync cela, juste que dans un sens (maître-esclave)
Heureux de le faire tourner sur windows, Linux ou Mac, comme nous l'avons tous. Windows et Mac préféré.
Aider! 🙂 🙂
[mise à jour] après 12 mois de déconner (et ne pas avoir besoin de cela en fin de compte), la bonne réponse est, à mon avis, de les corriger. L'utilisation de git - ont un repo qui tire depuis le SVN-UN, puis poussez-la vers un nouveau repo git, puis appuyez sur à partir de là pour SVN-B. Devrait fonctionner 🙂
source d'informationauteur Nic Wise
Vous devez vous connecter pour publier un commentaire.
Je le recommande SVK ou git-svn.
Ces deux vous permettent de créer un rétroviseur extérieur de votre dépôt svn, et permettre à l'externe devs à faire s'engage directement sur le rétroviseur extérieur. Vous pouvez alors tirer et pousser les changements de cette rétroviseur extérieur à votre maître repo.
git-svn serait (je pense) exiger que les développeurs externes à l'utilisation de git. Je la préfère, mais je serais réticent à le pousser sur les autres.
SVK, cependant, permet à des développeurs externes pour continuer à utiliser svn. Depuis l'intérieur repo est accessible uniquement en interne, un compte interne ou l'utilisateur aurait à gérer la synchronisation périodique (une tâche cron serait probablement de travail).
Voici une longue howto sur la SVK wiki: UsingSVKAsARepositoryMirroringSystem
La simplicité est généralement la meilleure façon, et il semble que vous avez déjà une solution simple: Utiliser le Référentiel SVN à l'extérieur du pare-feu.
Vous ai déjà dit que les machines à l'intérieur du pare-feu peut l'atteindre, et, évidemment, des machines à l'extérieur peut-il atteindre... c'est pour tout le monde, quelle raison avez-vous pour un second dépôt SVN à l'intérieur du pare-feu? Si c'est juste comme un back-up, puis il suffit de back-up l'un sur l'extérieur.
Laissez-moi savoir si je suis absent le cadre de vos exigences.
Une autre pensée... si vous avez à la fois interne et externe SVN cas... ce qui est d'arrêter de leur donner la même liste d'ID dans le même temps, à des fins différentes? Si vous êtes à la recherche de la solution centralisée, vous devriez regarder vers GIT plutôt que SVN.
L'une des caractéristiques de l'Édition d'Entreprise de VisualSVN Serveur est Multisite Référentiel de Réplication qui fait exactement ce que vous cherchez.
La fonction est basée sur VisualSVN Système de Fichiers Distribués (VDF) de la technologie, qui a été conçu pour permettre transparent Subversion de la réplication entre des sites géographiquement distribués. Certains des aspects les plus remarquables de VDF:
Il est intéressant de noter que VDFS suit le classique maître-esclave modèle de réplication qui a des avantages significatifs sur maître-maître modèle de réplication, car il est plus approprié pour la réplication de dépôts Subversion avec FSFS fs-type de backend. VDF technologie est beaucoup plus fiable que le maître-maître de solutions de réplication pour SVN.
Hmm...en gardant deux pensions de titres synchronisés les uns avec les autres est non-trivial, je pense. Elle implique essentiellement tournant SVN dans Mercurial ou Git.
La plus transparente et évolutive, la solution est la réplication maître/esclave avec svnsync qui est décrit dans le livre de Subversion: http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpd.extra.writethruproxy
Une chose que vous pourriez faire est d'essayer de reproduire les pensions de titres au niveau du fichier. Je suis à l'aide de test de foldershare (http://www.foldershare.com - fonctionne sur Windows et Mac) pour un même scénario, même si je suis le reproduire uniquement à des fins de sauvegarde et n'ont pas essayé de se connecter en utilisant SVN pour la réplique.
http://wandisco.com/subversion/multisite/
Si vous êtes à la recherche explication étape par étape, à propos de réplication maître/esclave avec svnsync, veuillez suivre http://lasanthals.blogspot.com/2012/09/main-steps-of-configuring-svn_4.html