もちろん、私はSCMツールの有用性を確信していますが、SCMツールの実験的なユーザーではありません。以前の仕事ではあいまいな商用ツールを使用し、現在の仕事ではPerforceを使用し、小さな個人的なプロジェクトでTortoiseSVNを少し試しましたが、検索やバックアップなどを行うために、いたるところに.svnフォルダーがたくさんあるのは嫌いでした。難しい。それから私は分散型SCMの興味を発見し、個人的な個人的なニーズのために、明らかに単純な(gitよりも)Mercurialの方法を選択しました。私はそれを適切に使用することを学び、ウィキの一部を読み、優れたPDFブックの真っ只中にいます。
たとえば、Mercurialの作業慣行では、「ローカルで複数のツリーを使用することを躊躇しないでください。Mercurialはこれを高速かつ軽量にします。」および「作業する機能ごとに、新しいツリーを作成します。」これらは興味深く賢明なアドバイスですが、ブランチが慎重に計画され(そして管理者によって処理される)「聖なる」中央リポジトリがあり、チェンジリストは(上級)ピアによってチェックされなければならない集中型SCMで私の小さな習慣を少し傷つけますビルドなどを壊してはいけません:-)新しいブランチでの作業を開始するにはかなりの時間がかかります...
したがって、上記に照らして2つの質問があります。
IDEなどのコンテキストで、多くのクローンを作成することはどの程度実用的ですか?プロジェクトに構成/設定ファイル、makefile、Antスクリプト、シェルスクリプトなどがあり、パスの更新が必要な場合はどうなりますか?(はい、おそらく悪い考えです...)たとえば、Eclipseでクローンをコンパイルして実行する場合は、Javaビルドパス、実行/デバッグターゲットなどを微調整して、さらに別のプロジェクトを実行する必要があります。 。Eclipseプラグインがそのタスクを容易にしない限り。ここの施設が恋しいですか?
その規模はどのようになりますか?大規模なコードベースではHgは問題ないことを読みましたが、私は困惑しています。私の仕事では、約200万行のJavaアプリケーション(まあ、いくつかは大きな共通カーネルの周りにあります)があり、コードだけで約110MBの重みがあります。古い(2004)Windowsワークステーションでクリーンコンパイルを実行すると、50MBのクラスファイルを生成するのに約15分かかります。3つのファイルを変更するためにプロジェクト全体のクローンを作成しているとは思いません。では、ここでの実践は何ですか?
私はまだこれらの質問が私の読書で扱われているのを見たことがないので、これが有用なスレッドになることを願っています。