フォルダ構成

メモ。
普段巡回しているサイトでこんな話題が。

Subversion のフォルダ構成 - かおるんダイアリー
http://d.hatena.ne.jp/kaorun55/20090903/1251953688

Subversionのフォルダ構成 | Ryuzee.com
http://www.ryuzee.com/contents/blog/2728

今までも同じような状況で悩んだ事があり、毎回異なるフォルダ構成にしてしまっていた。

過去の状況

色々とblogの記事、コメント等を見た結果、「ルート直下にtrunk、tags、branchesを配置して、source、documentsなどの用途別フォルダはその下に作成する」のが良さそうだった。

最初にSubversionを使いはじめた頃は、まだtrunkの概念も理解していなかったのでルート直下にファイルを直接置いたりしていた。これは論外。(svn-0.26.0とかそんな頃かあ)

その後ソースに関してはtrunk、tags、branchesを使うようになり、ドキュメント類はルート直下に独立したフォルダを切って格納していた。この時は、ドキュメントにブランチを切るとかタグを切るとか思いつきもしなかった。

trunk、tags、branchesの下に用途別フォルダを置く利点

ソース以外のフォルダもtrunk以下に配置する場合は、ブランチを切りやすくなる。

ドキュメントとソースを同時にバージョン管理する場合は良いが、そうでない時はどうする?ドキュメントは別にバージョンを振りたくならないか?
→それならそれで下層フォルダごとにタグを切れば良い。ドキュメントとソースを同期させたくない場合は、ソースだけ・ドキュメントだけなど個別にタグ・ブランチ作成する事で対処できる。

逆に、まとめて管理したい時はtrunkまるごとタグ・ブランチを切れば同時に管理もできる。用途別フォルダがルート直下にある場合は、この方法が取りにくい。

個人的な結論:ツリーの最上位でtrunk/tags/branchesに分けたほうが良い。あとからいくらでも使い分けが効く。

追記

こちらも参考に。
SVNリポジトリの管理方法: プログラマの思索
http://forza.cocolog-nifty.com/blog/2009/09/svn-eba2.html

Subversionで簡単・確実にファイルを構成管理 − @IT自分戦略研究所
http://jibun.atmarkit.co.jp/lskill01/rensai/tool10/04/01.html