Ich kann mir vorstellen, dass jeder Prozess nur dann am schlimmsten wird, wenn sich Ihre Änderungen in mercurial erhöhen und sich weiter von den Änderungen im SVN entfernen, die niemals mit Ihren merkwürdigen Änderungen einhergehen. Ich wäre jedoch gespannt, wie sich mercurial mit dieser Komplexität verbindet. Ich würde es auf diese Weise nähern:
1) Export aus dem SVN Ihre hg Repo, diesen /SvnExportCleanHG
Clone läßt erstellen rufen, dass in eine Arbeitskopie, in der alle neuen Funktionen von Ihrem Unternehmen gehen: /WorkingHG
2) Wenn Sie neue Änderungen von SVN ziehen möchten, führen Sie ein Svn-Update von /SvnExportCleanHG
aus und übergeben Sie dies dem sauberen Repo. Dies wird jetzt 2 Revisionen haben, original und aktuell von svn. Aus /WorkingHG
einen hg pull /SvnExportCleanHG
ausführen und alle unvermeidlichen Änderungen zusammenführen. Übergeben Sie das dann dem WorkingHG-Repo.
Jetzt haben Sie versucht, mercurials Mergen zu verwenden, die besten Ihrer Fähigkeit, und Sie haben immer noch eine saubere /SvnExportCleanHG
, die Sie die nächste Änderung von SVN ohne irgendwelche Konflikte ziehen können.
Immer wenn Sie von Svn wieder updaten möchten, tun Sie Schritt 2. Aktualisierung von Svn und Commit in der sauberen Repo wird nie einen Konflikt, weil es nur svn widerspiegelt, aber es immer Ihnen erlauben, ziehen und von Ihrer Arbeitskopie zusammenführen HG, weil sie gleich sind.
Es hängt von der Höhe Ihrer Änderungen und den Änderungen von SVN ab, wenn Sie mercurial merging viel kaufen. Wenn Sie in verschiedenen Baselines des Codes bleiben, ist dies ein großartiger Workflow und Sie sparen viel manuellen Aufwand. Wenn Sie sich stark überlappen, funktioniert dies zwar immer noch, aber es vereinfacht Ihren Workflow und löst viele Probleme beim Zusammenführen.
Ich würde wirklich interessiert sein, wie das funktioniert, wenn Sie es jemals versuchen.
http://mercurial.selenic.com/wiki/HgSubversion –
Danke. Ich habe mich tatsächlich dazu entschlossen, erst einmal manuell zu fusionieren. Ich habe das neue Repo in HG erstellt, und ich werde regelmäßig manuell Dateien von Svn kopieren. Ich würde gerne von jemand anderem hören, wenn sie Vorschläge haben. – feathj