2010-11-19 11 views
11

Ich habe ein Projekt, in dem ich Bitbucket als meinen HG-Server benutze, aber ich habe kürzlich entdeckt, dass ich als einzelner Entwickler Fogbugz/Kiln kostenlos nutzen kann. Ich möchte meine Dateien in Kiln verschieben, aber ich möchte meine Geschichte nicht verlieren. Ich bin mir sicher, dass es eine tot-dumme einfache Möglichkeit gibt, das zu tun, aber ich weiß es einfach nicht. Wie mache ich das?Wie migriere ich von einem Mercurial Server zu einem anderen, ohne meine Geschichte zu verlieren?

Danke!

Antwort

11

Erstellen Sie das neue Projekt Repo- und gehen Sie wie folgt mit Ihrer aktuellen Kopie des Original Repo: hg push new-repo-path.

Dann verwenden Sie den neuen Pfad in der Zukunft. Sie können das Bitbucket Repo löschen.

Mit Mercurial befindet sich der gesamte Verlauf in jeder Kopie des Repositorys, einschließlich Ihrer lokalen Kopien.

+0

ok cool ... dann, nachdem ich pusse, klone ich aus dem neuen Repo-Pfad, so dass zukünftige Pushs Redirect dort? – Jason

+0

@Jason no - Sie können einfach '.hg/hgrc' bearbeiten und den Pfad des Standard-Repository aktualisieren. Jeder Mercurial-Repo kann ohne Probleme auf eine andere Kopie des gleichen Repositorys pushen/ziehen, und es gibt nichts anderes als '.hg/hgrc', das ein Repository an seine ursprüngliche Quelle bindet. –

3

Da Sie bereits Mercurial verwenden. Ich war nur neugierig, sollte das Klonen deines Repository auf Fogbugz/Kiln nicht ausreichen.

hg clone "BitBucket Repo ..." 

Natürlich wird dies nicht Ihre pro-Repository-hgrc-Datei kopieren. Sie müssen das separat machen.

Ein anderer Ansatz besteht darin, Bündel zu verwenden.

Der dritte Ansatz ist das Drücken oder Ziehen von Bitbucket Repo zu Fogbugz Repo.

Einstellung defaults

Siehe auch: https://www.mercurial-scm.org/wiki/TipsAndTricks.

Reproducing es hier:

Es ist möglich, eine Standard-Push-URL zu speichern, die verwendet wird, wenn man nur ‚hg push‘ eingeben. Bearbeiten hgrc und fügen Sie so etwas wie:

[paths] 
default-push = ssh://[email protected]/path 
+0

ich dachte über nur Klonen mein Repo, aber ich möchte sicherstellen, dass, wenn ich 'hg push' geht es an die neue fogbugz Repo anstelle der bitbucket one – Jason

+0

@Jason: Das sollten Sie tun, indem Sie die Standardeinstellungen. Siehe meine bearbeitete Antwort. – pyfunc

0

Die anderen Antworten haben bereits erklärt, dass Sie direkt nach dem Erstellen eines neuen leeren Repository Ihre Änderungen mit hg push http://example.com/hg/newrepo dorthin schieben können. (Beachten Sie, dass Änderungen erst später von verwandten Repositories übernommen werden.)

Worüber Sie sich auch wundern, ist, wie Sie dann Ihr lokales Repository konfigurieren, um dorthin zu gelangen Speicherort standardmäßig, ohne die URL jedes Mal angeben zu müssen. Sie können das tun, indem Sie die default location in der .hg\hgrc Datei Ihres Repository bearbeiten. Es ist eine Textdatei, die Sie mit Notepad oder einem anderen Texteditor öffnen können.

Verwandte Themen