人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: にゃるら
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Subversion いるか リポジトリ 現在
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ksaito11
●40ポイント

複数のプロジェクトを対象に各プロジェクトもサブシステムを持っているような大規模の場合は、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...

◎質問者からの返答

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


2 ● yoshifumi1975
●15ポイント

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

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

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

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

◎質問者からの返答

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

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


3 ● F57PB
●25ポイント

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


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

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


当方では、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では、ディレクトリ構成を履歴を保持したまま変更可能なので、

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ