私はHGサーバーとしてBitbucketを使用しているプロジェクトを持っていますが、最近、孤独な開発者としてFogbugz/Kilnを無料で使用できることがわかりました。私はキルンにファイルを移動したいが、私は自分の歴史を失いたくない。私はそれを行うために死ぬばかげた簡単な方法があると確信していますが、私は知らない。これはどうすればいいですか?履歴を失うことなく、Mercurialサーバーから別のMercurialサーバーに移行するにはどうすればよいですか?
ありがとうございます!
私はHGサーバーとしてBitbucketを使用しているプロジェクトを持っていますが、最近、孤独な開発者としてFogbugz/Kilnを無料で使用できることがわかりました。私はキルンにファイルを移動したいが、私は自分の歴史を失いたくない。私はそれを行うために死ぬばかげた簡単な方法があると確信していますが、私は知らない。これはどうすればいいですか?履歴を失うことなく、Mercurialサーバーから別のMercurialサーバーに移行するにはどうすればよいですか?
ありがとうございます!
新しいプロジェクトレポを作成し、オリジナルのレポのあなたの現在のコピーで次の手順を実行しますhg push new-repo-path
。
その後、新しいパスを使用します。ビットバケットレポを削除することができます。
Mercurialでは、すべての履歴がローカルコピーを含むリポジトリのすべてのコピーにあります。
すでにMercurialを使用しているためです。私はちょうど興味があったので、Fogbugz/Kilnのリポジトリを十分に複製するべきではありません。
hg clone "BitBucket Repo ..."
もちろん、これはあなたのリポジトリ毎のhgrcファイルをコピーしません。あなたはそれを別々に行う必要があります。
もう1つの方法は、bundleを使用することです。
hg bundle --all bitbucket.bundle
hg clone bitbucket.bundle my_repo
第3のアプローチは、bitbucket repoからfogbugz repoにプッシュまたはプルすることです。
設定デフォルト
参照:https://www.mercurial-scm.org/wiki/TipsAndTricks。ここでそれを再現
:
あなただけの「HGプッシュ」と入力するときに使用されるデフォルトのプッシュURLを格納することが可能です。編集hgrcと同じようなものを追加します。
[paths]
default-push = ssh://[email protected]/path
その他の回答では、新しい空のリポジトリを作成した直後に、変更内容をhg push http://example.com/hg/newrepo
でプッシュできます。 (一部の変更をプッシュすると、今後は関連するリポジトリからの変更のみが受け入れられることに注意してください)。
また、ローカルリポジトリを設定して場所を指定する必要はありません。毎回URLを指定する必要はありません。リポジトリの.hg\hgrc
ファイルのdefault locationを編集することでそれを行うことができます。メモ帳などのテキストエディタで開くことができるテキストファイルです。
ok cool ... then pushした後、新しいRepoパスからクローンを作成して、将来、そこにリダイレクトされるようにしますか? – Jason
@ Jason no - '.hg/hgrc'を編集して、デフォルトリポジトリのパスを更新することができます。 Mercurialリポジトリは問題なく同じリポジトリの他のコピーにプッシュ/プルすることができます。リポジトリと元のソースを結ぶ '.hg/hgrc '以外は何もありません。 –