2

始める前に: 私は多くのフォーラム (Stack Overflow を含む - そして、svn の編成に関する SO の質問がたくさんあります) に長い時間を費やし、Google を検索し、ドキュメントを読みました (Subversion の本をいくつか所有しています)。Subversion でコード ベースを整理する良い方法をまだ見つけていません。私たちは現在、リビジョン管理システムとして RCS を使用しており、すべてが 1 つの RCS ディレクトリに保存されています。私は Subversion もよく使っていたので、その機能と仕組みはよく知っています。完全にプログラミングに関連するものではないため、この質問を何ヶ月もためらっていましたが、解決策にたどり着けなかったので、質問するのにこれ以上の場所はありません!

私の頭の中で物事を複雑にしているのは、「プロジェクト」という転覆用語です。Subversion で Java プロジェクトを管理したい場合、これは私にとって完全に理にかなっています。jar ファイルに結合されるすべての Java ファイルは「プロジェクト」と見なすことができます。それらはすべて一緒に属します。しかし、私たちの環境では、「プロジェクト」とは何かを簡単に定義する方法がわかりません。4,000 以上のプログラムがあり、それらはすべて互いに独立しています。それらの多くは、シェル スクリプトまたは perl スクリプトです。スクリプトの中には、一般的な「ユーティリティ」または「ライブラリ」スクリプトを使用するものもありますが、ほとんどの場合、すべてのコード オブジェクトは独立しています。

この環境の 1 つの「プロジェクト」には、プログラム A、B、C、および構成ファイル AA が含まれる可能性があります。別のプロジェクトでは、プログラム C、D、E、および構成ファイル BB を使用できます。さらに別のプロジェクトでは、構成ファイル AA やプログラム B を変更している可能性があります。どのプログラムまたはファイルがグループに属しているかを分類する方法はありません。このため、コードをサブバージョンに編成する方法がわかりません。すべてをマスター プロジェクト トランクに入れることもできますが、作業コピーをチェックアウトするということは、4,000 以上の要素をすべてチェックアウトすることを意味します。

状況を説明するために、これはデータ ウェアハウス用です。倉庫を機能させるには、4,000 以上のコード要素すべてが必要です。いくつかの要素でアクセスされる列の変更を必要とする特定のビジネス要件が発生し、別のビジネス要件では他のいくつかの要素 (おそらく他のプロジェクトからの同じもの) の変更が必要になる場合があります。

Subversion は私たちに最適ではないかもしれませんが、うまくいくと信じています。Web コードと Java プログラム用の Subversion サーバーが既にあり、簡単に定義できるプロジェクトがあるため、うまく機能しています。メインのコード ライブラリを整理する方法がわかりません。

うまくいけば、そのいくつかは理にかなっています...あなたの知恵を前もって感謝します!

4

2 に答える 2

2

あなたはexternalsプロパティを見るかもしれません。これにより、このプロパティがアタッチされているディレクトリのチェックアウトを定義できます。また、リポジトリ内の他の場所をそのディレクトリのサブディレクトリにチェックアウトします。

したがって、コンポーネントごとに「実際の」ディレクトリを作成してから、プロジェクトごとに個別のディレクトリを作成して、必要なコンポーネントのチェックアウトに外部を使用することができます。

于 2009-05-13T19:12:11.920 に答える
1

ファイルを単に Subversion リポジトリにダンプする前に、ファイルのフォルダー構造を整理しようとします。

あなたの問題は主に既存のファイルの混乱にあると思います。システムをセグメントに論理的に分割する方法を見つけることができれば、人々がファイルのチャンクのみをチェックアウトできるようにする方が簡単です (これは論理的なグループになります)。

Subversion は実際にはファイルシステムを反映しているため、ファイルシステムで見栄えがよくなければ、Subversion でも見栄えがよくありません。

ファイルの再編成を避けたい場合は、ファイル システム内の場所ではなく、タグに基づいてチェックイン/チェックアウトできるバージョン管理システムを見つけることができます。

于 2009-05-13T18:59:08.943 に答える