Subversion(svn)とは?
ソースコード管理システムのこと。
加えられた変更点などの履歴を全て中央リポジトリに記録させ、中央リポジトリにアクセスすることでソースコードを取り出したり、変更点を記録するというバージョン管理機能を備えたもの。
バージョン管理とは?
指定した任意の時点における指定したファイルやディレクトリの内容を「リポジトリ」と呼ばれるデータベースに記録しておくことで、変更の内容をあとから参照できるようにすること。
問題が起きたとき、誰がどこを修正したのか、修正前はどのような状態であったのかというのを容易に把握することができるようになる。
Subversion(svn)の特徴
「checkout」もしくは「update」コマンドで中央リポジトリからソースコードを取り出し、変更後に「commit」を実行することで変更点を中央リポジトリに送信するという流れ。
「checkout」後に他の者が「commit」を行っていた場合「commit」が実行できない為、「merge」という作業が必要になることもある。
※Subversion(svn)ではコミットごとに新しいリビジョン番号が振られる
※commit(コミット)…リポジトリなに状態を記録すること。
※merge(マージ)…再度リポジトリからソースコードを取り出し、手元のコードに修正点を反映させること。
※commit(コミット)…リポジトリなに状態を記録すること。
※merge(マージ)…再度リポジトリからソースコードを取り出し、手元のコードに修正点を反映させること。
Subversion(svn)の種類
Apache Subversion・・・コマンドラインから使用
TortoiseSVN・・・Windows向けのGUIのクライアント
PersonalForge・・・個人向けの開発支援サービス(OSDNでのSubversionサポート)
Subversion(svn)の後発ソースコード管理システムには、「Git」や「Mercurial」などの分散型のものがある。