[[Program]]

#contents

* SCMとは? [#l2d10e38]
[[ソフトウェア構成管理 - Wikipedia>http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E6%A7%8B%E6%88%90%E7%AE%A1%E7%90%86]]
>ソフトウェア構成管理(Software Configuration Management、SCM)とはソフトウェア開発プロジェクトをその成果物を通して制御・管理する方法論である。
ソースコードや文書などの成果物の変更履歴を管理し、製品のバージョンやリビジョンに個々の成果物のどのバージョンが対応しているかを識別し、任意のバージョンの製品を再現可能とする。
バージョン管理システムは SCM のためのツールであるが、バージョン管理システムそのものを SCM と呼ぶこともある。

* バージョン管理システム [#bc11ee45]
[[バージョン管理システム - Wikipedia>http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0]]
>バージョン管理システムとは、コンピュータ上で作成、編集されるファイルの変更履歴を管理するためのシステム。
特にソフトウェア開発においてソースコードの管理に用いられることが多い。

** 主なバージョン管理システム [#g9bee446]
フリーソフトウェア(無料・オープンソース)
- GNU arch - 分散型。C言語、シェルスクリプトで実装されている。
- Bazaar - 分散 or 集中型。Pythonで実装されている。
- CVS - 集中型。C言語で実装されている。
- Darcs - 分散型。Haskellで実装されている。
- [[Git]] - 分散型。Linuxのコード管理のために作られた。C言語、シェルスクリプト、Perlなどで実装されている。
- Mercurial - 分散型。Python、C言語で実装されている。
- Monotone - 分散型。C++で実装されている。
- Subversion - 集中型。CVSの改良版という位置づけ。C言語で実装されている。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS