くまきち

山と旅と家族が大事。
でも激しい物欲が理性と財布のタガを飛ばす
最近は自転車も乗ってる

ソースコード管理

2008-06-15 22:17:08 | SEまわり
 ソース管理にはCVSを使っている。
 その前はRCSだった。

 emacsから操作できるのも気に入ってたし、Windows上のeclipseからも使えるのも便利だった。 さらに、viewcvsなんてのもあるから、何かと管理に使ってた。


 ただ、「ファイル名を変更すると履歴を追えなくなる/追うのが大変」とか「バイナリファイルの管理がちょっと…」「空ディレクトリを持ってくれない」「ディレクトリのリネームをすると…」などの扱いにくさもあって、気をつけて使っていた


 そこで、ここらへんの不満を解決してくれそうなSubversionに手を出してみることにした。
 分散型のSCM(Source Code Management)ツールもあって、Software Design 2008/4月号に紹介されてたGitなんか興味はあったけど、使う規模を考えると、自分ちにしかリポジトリおかないんだから、集中型で十分と判断。



 Subversionの使い方はCVSに比べて、特に難しい点はないと思った。

 たしかにリネームしても追いかけてくれるし、ディレクトリもちゃんと扱ってくれるようだ。 便利。

 eclipseからも使えるので、CVSから移行を進めてみようかと思う。





 SCMで気になったところがひとつ。

 ディレクトリをまたいだ管理が出来るツールはないものだろうか

 PHPでのツール作成は通常スクラッチから書いてて、それでたいていの用は足りてしまうのだが、たまにZend Frameworkなどのフレームワークを使うことがある。
 コレ使うと設計時の資料が分かりやすくなると言う副作用があって、あとで見たときにすぐ理解できるというメリットがあるんだけど、ディレクトリ構造が問題。

 --+--/htdocs
  |
  +--/webapps --+-- /Controllers
                +-- /Models
                +-- /Views


 なんて構造をしてる時に、/htdocsの下にはhogesample.htmlとかアイコン/イメージ類を格納して、プログラムコードはすべてwebappsの下に格納する。

 これをCVSで管理しようとすると、2つに分けて管理するか、/htdocsの親からまとめて1個で管理するしかない。
 /htdocsの下には写真もたくさんあるから、ただでさえバイナリの苦手なCVSでそんなものを管理させたくない。 だから、2つに分けて管理となる。
 これは不便。


 こういう構造での開発にSCMを使ってる人は、どうやって運用してるのかなあ。