Wie man master-master-Replikation mit Subversion?
Scheint, wie ein einfaches problem:
- Habe ich ein SVN-repo innerhalb unserer firewall.
- Habe ich ein SVN-repo außerhalb unserer firewall.
- Ich haben Benutzer innerhalb und außerhalb der firewall. (kein VPN eine option nicht 🙁 das wäre zu einfach)
- Maschinen innerhalb der firewall reden KÖNNEN, die außerhalb SVN-server. Aber nicht in die andere Richtung.
- die außerhalb der SVN ist eine vorübergehende Sache, - das Haupt-repo wird immer drin sein.
Ich will irgendwie (von innen, die meisten wahrscheinlich) nehmen Sie alle änderungen, und wenden Sie Sie auf die andere. Und Umgekehrt. Klingt einfach, und ich gehe davon aus, dass der gerne GIT kann dies tun, aber wir sind mit SVN.
Jemand dies getan? Ich bin nicht dagegen, dass es ein manueller Prozess ist - es gibt nur ein paar externe Leute, und Sie brauchen keine updates to-the-minute, zwei oder drei mal am Tag tun würde.
Glaube ich apache.org dies tut, aber ich kann nicht finden, docs, WIE Sie dies tun. Es gibt ein paar Produkte gibt, die es tun (naja, eine), aber ich würde gerne wissen, ob jemand eine nette, saubere Art und Weise, es zu tun, ohne Sie. svnsync tut dies nur in eine Richtung (master-slave)
Glücklich, es läuft auf windows, Linux oder Mac, wir haben alle von Ihnen. Windows-und Mac-bevorzugte obwohl.
Hilfe! 🙂 🙂
[update] nach 12 Monaten Herumspielen (und nicht brauchen dies am Ende), die richtige Antwort ist, meiner Meinung nach, richtig. Verwenden Sie git - haben eine repo, die zieht aus dem SVN EIN, und drücken Sie anschließend, um ein neues git repo, dann schieben sich von dort aus an SVN-B. funktionieren Sollte 🙂
InformationsquelleAutor Nic Wise | 2008-09-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde empfehlen, SVK oder git-svn.
Beides ließ Sie erstellen eine externe Spiegel von Ihrem svn repository, und lassen Sie die externe devs zu machen, begeht direkt an den externen Spiegel. Sie können dann die pull-und push-Veränderungen, die aus dieser externen Spiegel, um Ihre internen master-repo.
git-svn, wäre (denke ich), benötigen die externen Entwickler mit git. Ich bevorzuge es, aber ich würde nur ungern auf die schieben das auf andere.
SVK, ermöglicht jedoch die externen Entwickler weiter mit svn. Da der interne repo ist nur zugänglich, intern ein internes Konto oder Benutzer haben, um die regelmäßige syncronization (ein cron-job würde wahrscheinlich funktionieren).
Hier eine erweiterte Anleitung auf der SVK-wiki: UsingSVKAsARepositoryMirroringSystem
InformationsquelleAutor
Einfachheit ist oft der beste Weg, und es klingt wie Sie haben bereits eine einfache Lösung: Benutze das SVN Repository außerhalb der firewall.
Haben Sie bereits gesagt, Maschinen, die innerhalb der firewall erreichen können, und natürlich Maschinen, die außerhalb erreichen kann... so das jeder, also welche Begründung haben Sie für eine zweite SVN-repository innerhalb der firewall? Wenn es nur als back-up, dann einfach back-up der auf der Außenseite.
Lassen Sie mich wissen, wenn ich bin fehlt ein Teil Ihrer Anforderungen.
Anderen Gedanken... wenn Sie beide internen und externen SVN-Instanzen... was ist, Sie zu stoppen, beide geben die gleiche änderungsliste ID gleichzeitig für verschiedene Zwecke? Wenn Sie sind auf der Suche nach eine de-zentralisierte Lösung, die Sie suchen sollten in Richtung GIT statt SVN.
InformationsquelleAutor
Eines der features der Enterprise-Version von VisualSVN Server ist Multisite-Repository-Replikation, das genau das tut, was Sie suchen.
Die Funktion basiert auf VisualSVN Distributed File System (VDFS) - Technologie, die entworfen wurde, um zu ermöglichen, transparent Subversion-repository-Replikation über geografisch verteilte Standorte. Einige der wichtigsten features von VDFS:
Es ist erwähnenswert, dass die VDFS folgt dem klassischen master-slave - Replikations-Modell hat erhebliche Vorteile gegenüber master-master - Replikation Modell, weil es mehr geeignet für die Replikation von Subversion-repositories mit FSFS fs-Typ backend. VDFS-Technologie ist viel zuverlässiger als master-master-Replikation-Lösungen für den SVN.
InformationsquelleAutor bahrep
Hmm...halten zwei repos synchron zueinander sind, ist nicht trivial, denke ich. Es würde bedeuten, im Grunde drehen SVN in Mercurial-oder Git.
InformationsquelleAutor
Die nahtlose und skalierbare Lösung ist, die master/slave-Replikation mit svnsync, der beschrieben wird in dem Subversion Buch: http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpd.extra.writethruproxy
InformationsquelleAutor Mike van Lammeren
Einer Sache, die Sie könnten versuchen, zu replizieren, die repo auf Datei-Ebene. Ich bin mit FolderShare (http://www.foldershare.com - läuft auf Windows und Mac), um ein ähnliches Szenario, aber ich bin replizieren Sie nur für backup-Zwecke und habe nicht versucht, die Verbindung mit dem Befehl SVN für die Replik.
InformationsquelleAutor Franci Penov
http://wandisco.com/subversion/multisite/
InformationsquelleAutor
Wenn Sie die Suche Schritt für Schritt Erklärung, über master/slave-Replikation mit svnsync, Folgen Sie bitte http://lasanthals.blogspot.com/2012/09/main-steps-of-configuring-svn_4.html
InformationsquelleAutor lasantha