38

現在、TortoiseSVN を使用して、現在外出中のいくつかのプロジェクトを管理しています。最初にすべてをソース管理に移したとき、すべてをどのように配置すればよいかよくわからなかったので、各プロジェクトを独自のリポジトリに配置することになりました。

それらをすべて 1 つの大きなリポジトリに移動し、それらをプロジェクト フォルダーに分割するのは良い考えでしょうか? 他のみんなは何をしますか?

現時点では、共通のコードを共有するものはありませんが、将来的には共有される可能性があります。それらがすべて一緒にあれば、管理が容易になりますか。

ありがとう。

4

11 に答える 11

31

「プロジェクト」が何を意味するかによってある程度異なります。

私は、私が書いたランダムなビットを含む一般的なローカルリポジトリを持っています (小さいので、私のウェブサイトを含みます)。シングルユーザーのローカル SVN リポジトリは、何年も入力に費やすまで、顕著なパフォーマンスの問題に悩まされることはありません。いずれにしても、SVNはより高速になります。そのため、すべてを 1 つのリポジトリに入れたことを後悔していません。ただし、そこにあるものの中には、すべてを書いたこと以外はまったく関係のないものもあります。

「プロジェクト」が「クラスからの課題」、「TiVo を動かすために使用するスクリプト」、または「新しい言語の学習の進捗状況」を意味する場合、プロジェクトごとにリポジトリを作成する必要はないように思えます。繰り返しますが、費用もかかりません。だから私はあなたがしていることを変えないでくださいと言うでしょう。リポジトリを再編成する経験が本当に必要でない限り、その場合あなたがしていることを変えてください:-)

ただし、「プロジェクト」とは、リポジトリへのパブリックアクセスを備えた「実際の」ソフトウェアプロジェクトを意味する場合、プロジェクトごとに個別のリポジトリが理にかなっていると思います。部分的には、物事をきれいに分割し、各プロジェクトを個別にスケーリングするためですが、それは人々が期待するものです。

svn にはかなり魅力的な "svn:externals" 機能があるため、別々のリポジトリ間でコードを共有することは、思っているほど問題ではありません。これにより、リポジトリのディレクトリを別のリポジトリのディレクトリにポイントし、その内容を自分のものと一緒に自動的にチェックアウトできます。詳細については、いつものように SVN book を参照してください。

于 2008-09-24T23:19:36.803 に答える
8

それらを同じリポジトリに保存します。それはちょっときれいです。さらに、継続的インテグレーションなどにとってなぜそれが重要なのか - リポジトリから特定のフォルダーをいつでも引き出す​​ことができます。

管理も簡単です - 1 つのリポジトリへのアカウント、1 つのリポジトリのログへのアクセスなど。

于 2008-09-24T23:03:32.397 に答える
7

私の経験則は、一緒に納品されたものを統合することです。つまり、プロジェクト X とプロジェクト Y を別々に配信する可能性がある場合は、それらを別々のリポジトリに配置します。

はい、時にはこれは、膨大な数のコンポーネントを含むプロジェクトの巨大なレポがあることを意味しますが、人々はレポのサブツリーを操作できるため、変更をコミットするときに「プロジェクト全体」を考えざるを得なくなります。レポ。

于 2008-09-24T22:59:39.987 に答える
5

私は、各プロジェクトを他のすべてのプロジェクトとは別に、独自のリポジトリに絶対に保持します。これにより、各プロジェクトに独自のコミット履歴が与えられます。1 つのプロジェクトのロールバックは、他のプロジェクトには影響しません。

于 2008-09-24T22:58:47.697 に答える
4

個人的には、各プロジェクトが独自のリポジトリにある方が好きです

于 2008-09-24T22:56:10.387 に答える
3

他の多くの人と仕事をしている場合は、すべてのプロジェクトに同じレベルのアクセスが必要かどうかを検討するかもしれません。各プロジェクトを別々のリポジトリに配置すると、1人あたりのアクセス権を付与する方が簡単だと思います。~~~

于 2008-09-25T16:17:35.187 に答える
2

プロジェクトごとに個別のリポジトリを使用する場合は、External タグを使用して他のリポジトリを参照し、コードを共有できます。

于 2008-09-24T23:02:53.177 に答える
0

各プロジェクトに /trunk /tags と /branches がある限り、問題ありません。ここでの基準は、適切な継続的インテグレーションです。

于 2008-09-24T22:57:21.850 に答える
0

はい、すべてをソース管理に入れます。

SVN を使用している場合は、プロジェクトを独自のリポジトリに保管してください。svn は遅く、遅くなります。

于 2008-09-24T22:58:11.020 に答える
0

プロジェクトが独立している場合は、別々のリポジトリに保管しても問題ありません。コンポーネントを共有する場合は、それらをまとめます。

于 2008-09-24T23:00:23.713 に答える
0

Subversion については、すべてを同じリポジトリに入れることをお勧めします。新しいリポジトリをセットアップするための管理上のオーバーヘッドは非常に高く、簡単に作成することはできません。Subversion は、リポジトリの一部へのアクセスを制限する必要がある場合に、きめ細かいアクセス制御を多数提供します。

しかし、プロジェクトを Mercurial に移行し始めると、プロジェクトごとにリポジトリを作成するように切り替えました。これは、"hg init" を使用して新しいリポジトリを作成するだけで、hg フォレスト拡張機能を使用して簡単に作成できるためです。ネストされたリポジトリで操作を実行します。Subversion には svn:externals があり、これは多少似ていますが、より多くの管理オーバーヘッドが必要です。

于 2008-09-24T23:00:25.367 に答える