Ich erkläre mein Problem,
Ich verwende derzeit eine interne Installation von gitorious using git. Ich möchte anfangen, FogBugz und Kiln von Fog Creek zu testen, die Quecksilber verwenden. Ich möchte zumindest für kurze Zeit die Entwicklung mit beiden Lösungen fortsetzen.
Kennt jemand irgendwelche langfristigen schwerwiegenden Auswirkungen, wenn ein Git und ein Quecksilber-Repo im selben Verzeichnis sind? Oder gibt es eine bessere Möglichkeit, Git und Mercurial Server synchron zu halten?
Ich habe es mit einem Test-Repo versucht und ich habe keine Probleme gesehen.
Vielen Dank für jede Hilfe.
.svn
Dateien isoliert sind .Antworten:
Ich habe festgestellt, dass die hg-git-Brücke in die andere Richtung ziemlich brauchbar ist (einige Dinge auf Github enthüllen, die ursprünglich mit Mercurial für die Quellcodeverwaltung erstellt wurden). Grundsätzlich verwenden Sie "nur" mercurial, erstellen ein Lesezeichen, das "master" mit "default" verknüpft, wenn Sie bereit sind, auf ein Git-Repo zu pushen, und pushen. Pull from Git funktioniert ähnlich wie beim Ziehen von einem Remote-Repo. In diesem Szenario erhalten Sie keine .git + .hg-Dateien, sondern nur Quecksilberdateien auf Ihrer lokalen Box, es sei denn, Sie migrieren vollständig zu git. In diesem Fall würden Sie wahrscheinlich git in einem neuen Klon erstellen Verzeichnis.
Es gibt ein ähnliches Projekt für Git-Benutzer, die aus Mercurial-Repositories pushen / ziehen möchten, aber ich habe keine direkte Erfahrung damit. Siehe https://github.com/offbytwo/git-hg
Abgesehen von der Möglichkeit, versehentlich einige der versteckten Ordner Ihres "anderen" Versionsverwaltungssystems einzuchecken, sehe ich kein wirkliches Problem damit, hg init in einem Git-Repo auszuführen. Es scheint mir nur weniger umständlich, eine Brücke zu verwenden und explizit zu wählen, wann auf das andere DVD-System umgeschaltet werden soll.
quelle
Ich habe sowohl mercurial als auch git für dasselbe Projekt im selben Arbeitsverzeichnis verwendet. Das Tolle an der Verwendung dieser beiden DVCS ist, dass beide nur einen Ordner (.git / .hg) für ihre Confs und Blobs und Bäume und so weiter haben.
Geben Sie einfach .hg in .gitignore (und .git in .hgignore) ein und Sie können loslegen.
Sie müssen natürlich die Arbeit verdoppeln, wenn Sie sich verpflichten, aber ich fand das nicht schwer zu handhaben.
Dieses Setup ist meiner Meinung nach weitaus zuverlässiger als die Verwendung von Bridge-Lösungen (ich mag sie seit dem Horror, den ich mit git-svn hatte, nicht mehr).
quelle