2009-10-15 6 views
23

私は 'hg convert'コマンドを使ってSVNリポジトリをhgに移動しようとしましたが、動作しているようです(少し時間がかかり、すべてのコミットメッセージを出力します)、最終的に結果のMercurialディレクトリは空です。 .hg隠しサブディレクトリがあり、それは約200 MBだから何か起こったが、そこにファイルはない。Subversionの後の空のリポジトリ - >水銀変換

どのような考えですか?

私が関与していると考えることができる唯一のものではなく、トップレベルのトランク、brankes、タグのディレクトリを有するので、私たちは多くのプロジェクトを持っているということです、自分の体幹、枝、タグを持つ各:


svn-repository/ 
    Project1/ 
     trunk/ 
     branches/ 
     tags/ 
    Project2/ 
     trunk/ 
     branches/ 
     tags/ 

など...

問題を引き起こしている可能性がありますか?私の理解は、SVNは本当にあなたがどのようにリポジトリを整理する気にしないですが、Mercurialはですか?

+0

私はそこにいて、それをやったので質問をアップアップしました! – MattGWagner

答えて

29

作業コピーを取得するには、hg updateを実行する必要があります。

(このような水銀のリポジトリは、リビジョンをプッシュまたはプルする純粋な通信ポイントとして、Subversionサーバーと同じように使用できます。この場合、hg convertによって作成されましたが、 hg clone --noupdateまたはhg update nullとリポジトリ。作業コピーのファイルを省略すると、いくつかのスペースを節約できます。)

また、私はあなたが個別に各プロジェクトを変換をお勧めします。 "project1"のURLを指定した場合、hg converttrunkbranchestagsのサブフォルダを自動的に検出し、適切な処理を行います。

水銀では、ブランチはトランクからsvn-copyされたばかりのフォルダではなく、ファーストクラスのコンセプトです。ブランチは、svnのようなユーザーが見ることのできる場所には存在しません。単一の水銀のリポジトリに複数のプロジェクト(それぞれが独自のブランチを持つ)を持つことは、実際には意味がありません。

+0

もちろん、私はそれをやっていないとは信じられません。私はまだプッシュ/プルとコミット/アップデートの違いに慣れています。 フォローアップを依頼することができます:なぜプロジェクトを別のリポジトリに分割することをお勧めしますか?現在それらがグループ化されているのは、プロジェクトの多くがモジュール化されており、さまざまな組合せで一緒に使用されているためですが、分岐することができるようにしたいと考えています。この組織構造は、Mercurialが不平を言うのでしょうか? –

+0

@hvjackson:Subversionでは、フォルダ間の変更を別のパスで共通の祖先をマージすることができます。 Mercurialの動作は大きく異なります。マージは親リビジョンが2つあるリビジョンです。 Subversionのやり方を複製すると、正しくマージできなくなります。これは混乱を招くかもしれません - hgチュートリアルで作業することをお勧めします:http://mercurial.selenic.com/wiki/Tutorial –

+0

またはhttp://mercurial.selenic.com/wiki/Mergeをご覧ください –

関連する問題