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

Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

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

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

最近検索されている記事

月別インデックス
Process Time: 0.048232s / load averages: 0.38, 0.52, 0.60
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker