Ich glaube, dass Bazaar das vernünftigste DVCS ist und besonders gut für Benutzer geeignet ist, die mit Subversion vertraut sind. Es kann sehr effektiv mit einem Subversion-System verwendet werden.
Es sieht so aus, als würde der bzr svn-import
Befehl alle Zweige von Subversion importieren, was wahrscheinlich nicht das ist, was Sie wollen. Es ist nicht möglich, aus einem Subversion-Checkout zu importieren, da Subversion nicht den gesamten Verlauf lokal speichert.
Da Sie mehrere Zweige verwenden möchten, sollten Sie zunächst ein freigegebenes Repository erstellen, um beim Verzweigen Speicherplatz und Zeit zu sparen.
bzr init-repo ~/project
Verwenden Sie dann den bzr checkout
Befehl, um einen Checkout von Ihrem Subversion-Trunk zu erstellen. Geben Sie die Subversion-URL zum Projekttrunk an.
cd ~/project bzr checkout https://svn.example.com/project/trunk trunk
Sie haben dann einen Bazaar-Baum in ~ / project / trunk, der an den Subversion-Stamm gebunden ist. Eine gebundene Verzweigung bedeutet, dass Commits automatisch an die entfernte Verzweigung übertragen werden. Das heißt, alles, was Sie hier festlegen, wird an den Subversion-Trunk übergeben.
Wenn Sie Änderungen vornehmen möchten, erstellen Sie einen neuen Zweig in Ihrem lokalen Trunk.
cd ~/project bzr branch trunk fix-some-bugs
Arbeite in ~ / project / fix-some-bugs und mache einen Commit, während du weitergehst. All dies geschieht lokal und hat keinen Einfluss auf den Subversion-Trunk. Sie können beliebig viele Zweige erstellen.
Wenn Sie diese Änderungen in den Subversion-Trunk übernehmen möchten, führen Sie den Zweig in Ihren lokalen Trunk ein. Vergewissern Sie sich zunächst, dass Ihr lokaler Trunk durch die Verwendung von auf dem neuesten Stand ist bzr pull
.
cd ~/project/trunk bzr pull bzr merge ../fix-some-bugs bzr commit
Dadurch werden alle Änderungen, die Sie in der Verzweigung vorgenommen haben, als einzelne Revision in Subversion festgelegt (auch wenn Sie in der Verzweigung mehrere Zusagen gemacht haben).