2011-12-27 9 views
3

私はSubversionでバージョン管理を学びましたが、今はMercurialを使用しようとしています。 Subversionでは、リポジトリに1つのプロジェクトがあり、Visual Studio Projectsフォルダにそのプロジェクトをチェックインして作業することができました。今は私のプロジェクト以上のMercurialレポを使用しています。別のローカルコピーと中央コピーがあります。ローカルコピーを変更する標準的な方法は、リポジトリ内のファイルを直接変更することですが、必要であれば何かを再配置することはできません。私のプロジェクトをどこにでもチェックアウトする方法はありますか?私はedit-copy-paste-commitアプローチが嫌いです。Mercurial/Hgのファイルをチェック

+0

標準的な方法(レポで直接ファイルを変更する)について気に入っていないことは分かりません。あなたが「必要ならば何かを移転することができないので」とはどういう意味ですか? –

+0

すべての会社のプロジェクトのコードはローカルリポジトリにありますので、特定のファイルセットで作業する場合は、Visual Studio Projectsフォルダにすべてコピーするのは意味がありません。 Visual StudioはデフォルトでProjectフォルダに新しいプロジェクトを作成します。プロジェクトフォルダにはすべてのVSプロジェクトがあります。しかし、今では、バージョン管理されたすべてのプロジェクトをリポジトリに保存する必要があります。 –

答えて

4

あなたの問題はこれです:すべての会社のプロジェクトのためのコード

はMercurialのマニュアルの"What Mercurial can't do"から現地レポ

引用である:

多くのSVN/CVSユーザーは、関連するプロジェクトを1つの リポジトリにまとめてホストすることを期待しています。これは実際にMercurialのために作られたものではないので、 は別の方法で作業しなければなりません。特に、これは、 はリポジトリの1つのディレクトリだけをチェックアウトすることができないことを意味します。

あなたは絶対に メタリポジトリの種類に複数のプロジェクトをホストする必要がある場合しかし、あなたはSubrepositoriesが が1.3 Mercurialのか、古いForestExtensionで導入されたことを特徴と試みることができます。

Mercurialの使い方については、チュートリアルを参照してください。

- > Mercurialのような分散バージョン管理システムを使用する場合は、プロジェクトごとに1つのリポジトリを作成するようにしてください。
Project Xの修正が必要な場合は、Project Xの完全リポジトリをマシンにクローンするだけで問題はなくなります。それだけです!多分あなたはSVNとHGとの違いを説明するチュートリアルを読んでください、Subversionの出身

、これらの例1:

  • the official one
  • Hg Init

      (スタックオーバーフローの共同創設者ジョエル・スポルスキによります)
  • +0

    残念ながら、すべてのものを1つのレポに入れるという決定は、私が来るずっと前から行われていました。私はそれをコピー/貼り付けするか、リポジトリに行くためにVisual Studioに伝える必要がありますか? –

    +0

    @kendfrey:それを聞いて申し訳ありませんが、SVN **の代わりにHGを使用し、すべてを1つのレポに保つという古い決定に固執したという決定は、良いものではなく、これを決めた人SVNとHGの違いについて実際には分かっていませんでした。これを変更する方法がない場合(ここにこ​​の答えを示してください!!)、あなたが言及した汚れたハック/回避策の1つを使用しなければならないことは恐れられます。 –

    +0

    さて、プロジェクトごとのブランチと 'hg clone -b'は、(部分的に)現在の状態を助けることができます。しかし、プロジェクトを分割することはもっと正しい方法です。間違いなく –

    0

    hg pull -u /path/to/central/repoをお探しですか?

    +0

    自分のローカルリポジトリから私のファイルシステムに戻って戻ってくるすべてのファイルだけでなく、特定のファイルだけを取得したい。私はすでに地元のレポを持っています。 –

    関連する問題