0

私は主に自分のために小さなプログラムをコーディングしていますが、最近、チームの仲間のためにコーディングを始めています。そのために、Mercurialリポジトリを使用して、コードを何らかのバージョン管理(具体的には、WindowsのTortoise-Hg)で維持するようになりました。私は多くの小さなスクリプトを持っており、それぞれが独自のディレクトリにあり、すべて1つのリポジトリにあります。ただし、 JoelのHgチュートリアルを読んでいるときに、大きなスクリプトの1つにディレクトリのクローンを作成して「安定した」バージョンを作成しようとしましたが、ディレクトリ自体がリポジトリではなかったため、作成できませんでした。

したがって、クローンを適切に使用するには、スクリプト/ディレクトリごとにリポジトリを作成する必要があると思います(間違っている場合は修正してください)。しかし..それは「良いアイデア」なのか、それとも将来のメンテナンスの悪夢が起こるのを待っているのでしょうか。

簡潔に言えば、すべての(無関係な)スクリプトを1つのリポジトリに保持するのですか、それともそれぞれにリポジトリを作成する必要がありますか?またはいくつかの未知の3番目のオプション?

4

4 に答える 4

1

ある時点で独立して使用する可能性のあるすべてのものに対して、個別のリポジトリを使用します。将来的にリポジトリを組み合わせるのは非常に簡単で、それらを分解するのははるかに困難です。サブリポジトリ機能(svn externalsなど)を使用すると、1つのコマンドでクローンを作成したい場合でも、すべての小さなリポジトリを含むアンブレラリポジトリを作成できます。

于 2010-03-25T02:03:33.417 に答える
1

原則として、個別のリポジトリは素晴らしいように思えます。しかし、このアプローチがスケールするかどうかはわかりません。~/binディレクトリだけで1,000 を超えるスクリプトを作成しました。これらはすべて単一のリポジトリに格納されます。これらのスクリプトは小さく、平均の長さは 150 行ですが、これは誤解を招く可能性があります。スクリプトの約 15% だけが 100 行を超えています。

それらを別々のリポジトリに入れるユースケースがわかりません。仲間の開発者と共有したい場合は、通常、ソース コードを送信するだけです。スクリプトの半分は 2005 年 6 月以降変更されておらず、過去 6 か月間に変更されたのはわずか 5% です。そのため、ほとんどのコードはかなり安定しており、多くのバグ修正はなく、歴史は興味深いものではありません。

必要性が実証されるまで、単一のレポを使用します。

于 2010-03-25T22:26:44.287 に答える
1

プロジェクトごと、およびミニプロジェクトの論理ブロックごとにリポジトリを使用します。

私の意見では、 hg subrepo 機能はまだプライムタイムの準備ができていません。コア hg コマンドのかなりの数はサブレポを理解しないため、特に共有コードを使用すると、非常に簡単に自分自身を刺すことができます。サブリポジトリの詳細については、hg の最新のパッチ ノートを参照してください。

于 2010-03-25T22:31:53.020 に答える
0

実際のディレクトリごとに個別のリポジトリを作成すると、コードの残りの部分からリポジトリが分離されるため、おそらく良い考えです。コーディングのモジュール性が有益であるのと同様に、リポジトリのモジュール性も有益です。スクリプトの1つをGitHubなどで公開したい場合は、リポジトリがすでに分離されていると簡単です。

ただし、1ファイルの長さの小さなスクリプトがたくさんある場合は、それらを1つのリポジトリに保持しても問題ないでしょう。ただし、そのリビジョンをリリースしたい場合は、それらすべてを一度にリリースする必要があります。

于 2010-03-25T02:03:31.920 に答える