Subversionを利用している人に質問です。

現在、Subversionのリポジトリの構成について迷っていて、
実際に使用されているリポジトリの構成を参考にしたいと思ってます。

なので、どのようにリポジトリを構成しているか教えてください。

回答の条件
  • 1人2回まで
  • 登録:2006/10/21 14:00:29
  • 終了:2006/10/22 09:00:44

回答(3件)

id:ksaito11 No.1

ksaito11回答回数44ベストアンサー獲得回数42006/10/21 17:47:12

ポイント40pt

複数のプロジェクトを対象に各プロジェクトもサブシステムを持っているような大規模の場合は、Apacheのリポジトリ構成が参考になると思います。

https://svn.apache.org/repos/asf/

構成のポリシーを見つけられませんでしたが、第一階層がプロジェクト、第二階層がサブシステム、第三階層がSubversionでおなじみのtrunk, tags, branchesという構成です。

ご存知かもしれませんがtrunkは開発本線、tagsはタグ付けされたソースセット、branchesはブランチを格納します。

この構成は汎用的なので、今後はこの構成を採用しようと考えています。


以前に特定システム専用のリポジトリとして下記のような構成をしたことがあります。Apacheの構成より階層がひとつ少ない特定プロジェクト専用の構成というイメージです。

第一階層がtrunk, tags, branches、第二階層がサブシステム

チェックアウトが一度にできるのでビルドやパッケージなどの処理で便利かなと思い採用しましたが、今考えると下記のほうがよかったと考えています。

第一階層がサブシステム、第二階層がtrunk, tags, branches

機能的には違いはないように思いますが、後者の構成の場合、設計でサブシステムに分けた設計意図が、現場の開発者に誤って伝わってしまうケースがありました。

”trunk下に全部ある->いろいろ分かれているけど単一のものと認識するようになる”となり、何かのきっかけで問題(設計段階でのサブシステム分割が適切でないとか)が発生すると根本問題を解決(設計上の不具合を修正するとか)に目が向かず”分ける意味ないじゃん、一緒にしちゃえば”といった意見がでてきます。


Subversionのドキュメントにも下記に構成についての記載があります。

http://subversion.bluegate.org/doc/book.html#svn.reposadmin.proj...

id:nyarla-net

個人的に利用しているので、規模は小さいですが、ひとつのプロジェクトにサブプロジェクトがある場合とても参考になりそうです。

2006/10/22 08:52:41
id:yoshifumi1975 No.2

yoshifumi1975回答回数58ベストアンサー獲得回数102006/10/21 17:50:25

ポイント15pt

/home/svn/repos/prj/製品名/trunk/ 最新バージョンのコード

/home/svn/repos/prj/製品名/branches/ 過去のバージョンのソースコード

/home/svn/repos/prj/製品名/tags/ 作ったけどつかっていません。

/home/svn/repos/prj/製品名/tools/ 各種スクリプトやツールなどを置いています。

id:nyarla-net

これはひとつのリポジトリにすべてのプロジェクトを入れているということでいいんですよね?

全部まとめるという手もあるのか。

2006/10/22 08:55:19
id:F57PB No.3

F57PB回答回数86ベストアンサー獲得回数02006/10/21 22:04:28

ポイント25pt

リポジトリの構成とは、リポジトリのディレクトリ構成と考えてよいですか?


何を管理するかによっても、どのようなディレクトリ構成が管理しやすいか

も変わってくると思いますので、基本的には管理対象に応じた構成になると思います。


当方では、Java言語によるアプリケーション開発の成果物をSubversionで

管理していて、

 a.Javaプロジェクト

 b.設計書などのドキュメント

が管理対象です。


a.Javaプロジェクト

 これは、Javaの開発環境に何を使うかにもよりますが、当方では

 Apache Mavenで開発しているため、Mavenで決められたディレクトリ構造

 そのままにSubversionに格納しています。


 例えば、以下のような感じです。

  /Hoge

   /src

    /main

     /java・・・以下にJavaのソースを格納

    /test

     /java・・・以下にJUnitのソースを格納


 SeasarファウンデーションのSubversionリポジトリも参考になるのではないでしょうか。

 https://www.seasar.org/svn/


c.設計書などのドキュメント

 これも、システム会社の規則としてドキュメントを構造化していて、

 ディレクトリ構成が決められていますので、そのままSubversionに格納しています。


 例えば、以下のような感じでフェーズ毎にディレクトリを切ったりしています。

  /Doc

   /00.要件定義

   /10.仕様

   /20.外部設計

   /30.内部設計

   /40.製造

   /50.単体テスト

   /60.結合テスト

   /70.システムテスト

   /80.保守運用


Subversionでは、ディレクトリ構成を履歴を保持したまま変更可能なので、

あまり難しく考えずに、はじめはシンプルにはじめて、必要に応じて細分化していっても良いと思います。

id:nyarla-net

なるほど、細かく分けずに大まかに分けた方がよさそうですね。

2006/10/22 09:00:10

コメントはまだありません

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません