nDiki : Subversion リポジトリレイアウト

Subversion リポジトリレイアウト - Subversion repository layout

典型的なリポジトリ名

 repos

典型的なリポジトリレイアウト(1プロジェクト用)

 /
 |
 +--+-- trunk      トランク用
    |
    +-- branches   ブランチ用
    |
    +-- tags       タグ用

trunk、branches、tags という名前のディレクトリを作るというのが、多く使われている構成である。

作成

上記のリポジトリを、リポジトリのある UNIX 系 サーバ上で行う手順は以下の通りである。 UNIX グループメンバで共有するなら svnadmin の前に権限の設定を行う(→ UNIX グループで共有するリポジトリを作る)

 mkdir /path/to/repos
 svnadmin create /path/to/repos --fs-type fsfs
 mkdir /tmp/layout
 cd /tmp/layout
 mkdir trunk branches tags
 svn import . file:///path/to/repos --message 'Initial repository layout.'
 cd
 rm -rf /tmp/layout

作業開始

 mkdir /path/to/work
 cd /path/to/work
 svn checkout file:///path/to/repos/trunk
 cd trunk

または

 mkdir /path/to/work
 cd /path/to/work
 svn checkout file:///path/to/repos projectname
 cd projectname

典型なリポジトリレイアウト(複数プロジェクト用)

各プロジェクト毎に trunk、branches、tags ディレクトリを作るパターン。

プロジェクト毎にタグ付けを整理しやすい。 一方複数プロジェクトにまたがったタグをつける場合は、置き場所に困る。

 /
 |
 +--+-- project-1
    |     |
    |     +-- trunk
    |     |
    |     +-- branches
    |     |
    |     +-- tags
    |
    +-- project-2
    |     |
    |     ...
    ...

作成

上記のリポジトリを、リポジトリのある UNIX 系 サーバ上で行う手順は以下の通りである。 UNIX グループメンバで共有するなら svnadmin の前に権限の設定を行う(→ UNIX グループで共有するリポジトリを作る)

 mkdir /path/to/repos
 svnadmin create /path/to/repos --fs-type fsfs
 mkdir /tmp/layout
 cd /tmp/layout
 mkdir project-1
 mkdir project-1/trunk
 mkdir project-1/branches
 mkdir project-1/tags
 mkdir project-2
 mkdir project-2/trunk
 mkdir project-2/branches
 mkdir project-2/tags
 svn import . file:///path/to/repos --message 'Initial repository layout.'
 cd
 rm -rf /tmp/layout

作業開始

 mkdir /path/to/work
 cd /path/to/work
 svn checkout file:///path/to/repos/project-1/trunk
 cd trunk

UNIX グループで共有するリポジトリを作る

UNIXグループ「mygroup」で共有するリポジトリを作る。 set-group-ID (sgid) ビットをセットしておく。

 mkdir /path/to/repos
 chgrp mygroup /path/to/repos
 chmod g+ws /path/to/repos
 svnadmin create /path/to/repos --fs-type fsfs

ソフトウェア開発用 trunk 以下レイアウト(例)

 trunk
   |
   +-- src
   |     |
   |     +-- package-1
   |     |
   |     +-- distribution
   |
   +-- release
         |
         +-- package-1
         |
         +-- distribution
               |
               +-- distribution-x.yy
               |
               +-- iso

関連情報

スポンサード リンク

no diary

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.048351s / load averages: 0.31, 0.35, 0.35
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker