3

Subversion リポジトリをめぐる戦いが予想されます。現在、3 つのメイン プロジェクトと 2 つのレポート プロジェクトとしてチェックインされた単一の Web アプリケーションがあり (6 か月前に開始したとき)、現在は最大 7 つのプロジェクトであり、さらに成長することが期待されています。 .

バージョン管理システムを合理的に使用したい場合、コンパイルされた実行可能ファイルがバージョン管理の境界を越えることができないということは、私には明らかです1 つの機能に対して 1 つのチェックインを行うことは不可能であり、それは私にとって不可欠なことのように思えます。

しかし、これを説明しようとすると、手を振っているような気がします。Subversion または一般的に、この原則を説明し、その背後に何らかの権威がある参考文献を持っている人はいますか? 私はいくつかの検索を行いましたが、必要なものが思い浮かびません。

4

2 に答える 2

0

Subversion には、リポジトリを構築するための多くのオプションがあります。ドキュメントのリポジトリ レイアウトの説明を参照してください。

私は通常、次のルールに従います。

  • 何か別のプロジェクトですか、重複はありませんか、同じユーザーまたはグループではありませんか? ==> 異なるリポジトリを使用することもできます (ただし、強制されるわけではありません。
  • 追跡され、互いに独立して構築される独立したパーツはありますか? ==> いわゆる「マルチ プロジェクト レイアウト」を使用します (以下を参照)。
  • 単一のアプリケーションを開発し、さまざまなチームで作業している場合は、いわゆる「単一プロジェクト レイアウト」を使用します。

違いは次のとおりです。

  • 単一プロジェクトのレイアウト:

     Repo MyProject:
     trunk/
       java/
         src/
       ruby/
       doc/
       ...
     tags/
       rel1.0/
         java (references the copy of java of revision xxx)
         ruby (references the copy of ruby of revision xxx)
         ...
       rel1.1/
         ...
     branches/
       feature_x/
         java (references the copy of java of revision yyy)
         ...
    
  • マルチ プロジェクト レイアウト:

     Repo MyProjectBundle:
     proj1/
       trunk/
         java/
           src/
       tags/
         rel1.0/
           java (references the copy of java of revision xxx)
           ...
         rel1.1/
           ...
       branches/
         feature_x/
           ...
     proj2/
       trunk/
       tags/
       branches/
     ...  
    

したがって、主な違いは次のとおりです。

  • マルチ プロジェクト レイアウトでは、すべてのプロジェクトにタグを付けて分岐するのはかなり難しく、通常は 1 つのプロジェクトだけがタグ付けされます。
  • これは単一のプロジェクト レイアウトであり、通常はトランク全体で自由に分岐およびタグ付けできます。次に、変更したいものを変更し、すべてを 1 つのリビジョンにコミットし、それを 1 つのステップでマージして戻すことができます。

参考までに、私は引用された SVN レッド ブックしか持っていません。もちろん、stackoverflow の多くの回答の 1 つです: Subversion Repository Layout

于 2011-09-28T14:26:52.300 に答える
-1

svn のモジュールは慣例によってのみ存在するため、リポジトリに最上位のディレクトリを作成し、その中にさまざまなプロジェクトを配置して、ツリーの任意の場所 (最上位を含む) にコミットできます。したがって、1回のチェックインができないとは思いません。

ビルド システムは、アプリケーションをさまざまな成果物に分割する部分になります。

Cripes、私はあなたの質問に少なくとも部分的に答えたことを願っています.

于 2010-12-21T19:34:09.870 に答える