source control

CNETのnewによると

http://japan.cnet.com/news/ent/story/0,2000047623,20083005,00.htm

Linuxの生みの親で、同OSの開発を指揮するLinus Torvaldsが、プロジェクトのソースコード管理用に「Git」と呼ばれる新しいツールを使い始めた。これまで使っていたシステムをめぐって論争が持ち上がったため、同氏はしばらく前からその使用をとりやめていた。

Linuxの開発では、BitKeeperをやめてGitと呼ばれる新しいツールでソースコード管理するみたいですね。

ところでソフトウェア開発にはソースコード管理が欠かせません。
ある程度規模の大きなソフトウェアの開発は、複数の開発者で同じファイルをいじることになるので、それに伴い管理も難しくなります。

単純な管理方法としては、まず共有フォルダ等を用意し、そこからソース・ファイルを取ってきて、ソース・ファイルを作成/変更し、それを共有フォルダに上書きする方法が手っ取り早そうです。しかしこの方法だと、一度に複数の人が作業してたりすると、自分が更新した部分と他人が更新した部分がぶつかって上書きされて整合性が取れなくなったりする危険があります。こうしたチームでの開発を行う場合、通常「ソフトウェア構成管理」SCM (Software Configuration Management)を利用します。SCMを使うと

    • バージョン管理、バージョン履歴
    • コンポーネント・ベースで作られるアプリケーションの構成管理
    • ソース・ファイル、フォルダ、メタデータ等の格納および管理
    • 既存ソースの比較やマージ
    • 依存関係の分析

といったことができるようになります。
こうしたSCM用の製品としては以下のようなものがあります。

(http://www.globe.to/~oka326/?SCM より)

小職も、日々の仕事で、SCMシステムを使うのですが、時差があるHQやインドの開発センターの開発者が、自分が変更したいファイルをロックしてたりすると、時差の関係で結構もどかしい思いをすることもあります。U.Sだと日本の午前中の早い時間じゃないとつかまらないし、インドだと日本の午後にならないと開発者は出勤してきません。このSCMがあると、誰がいつどんな変更をfileにしたか一発で分かるので、fileをリポジトリにcheck-inする際はちょっと緊張しますね。