Subversion(svn)によるソフトウェア開発を始めようSubversion(svn)によるソフトウェア開発を始めようSubversion(svn)によるソフトウェア開発を始めようOSDNでは、無料で利用できるSubversionリポジトリを提供しています。Subversion)は、さまざまなソフトウェアの開発現場において広く使われているソースコード管理システムです。標準のコマンドラインクライアント/プロトコルの名称から「svn」と呼ばれることもあります。Subversionではソースコードやそこに加えられた変更点などの履歴はすべて中央リポジトリに記録され、各開発者はネットワーク経由で中央リポジトリにアクセスすることでソースコードを取り出したり、変更点を記録するという中央集権型のバージョン管理機能を備えています。X、各種UNIXなどさまざまな環境で利用でき、GUIで動作するクライアントや、Subversionによるバージョン管理機能を備えた統合開発環境(IDE)も多くあります。ソースコード管理システム/バージョン管理システムってなに?バージョン管理というのは、指定した任意の時点における指定したファイルやディレクトリの内容を「リポジトリ」と呼ばれるデータベースに記録しておくことで、変更の内容をあとから容易に参照できるようにすることです。これにより、誰がどの個所を修正したのか、修正前はどのような状態だったのか、というのを容易に把握できるようになり、また修正後のファイルを記録しておいた修正前の状態に復元する、といったことも簡単に行えるようになります。System、VCS)と呼ばれており、またリポジトリに状態を記録することを「コミット」と呼びます。Subversionの特徴Subversionは、1つの中央リポジトリに複数の開発者がアクセスするアーキテクチャを採用しています。コミットごとに新しいリビジョン番号が振られるためバージョンの管理が直感的に行えるほか、対応するクライアントが多いというのが特徴です。複数の開発者が1つのリポジトリを共有するため、注意しないと変更点の競合が発生しやすいというデメリットもあります。近年ではGitやMercurialといった分散型の後発ソースコード管理システムにシェアを奪われつつありますが、その歴史から現在でも多くのソフトウェア開発の現場で利用されています。Subversionでは、「checkout」もしくは「update」コマンドで中央リポジトリからソースコードを取り出し、変更後に「commit」を実行することで変更点を中央リポジトリに送信する、という流れで開発を行います。checkout後に誰かほかの開発者がリポジトリにコミットを行っていた場合、そのままではcommitが実行できないため、再度リポジトリからソースコードを取り出し、手元のコードに修正点を反映させる「merge」という作業が必要になる場合もあります。そのほか、複数の異なるバージョンのソースコードを平行管理するための「branch」という機能や、特定のバージョンに名前をつけて管理する「tag」という機能も用意されています。Subversion(svn)の基本コマンドSubversionを利用するには、対応したクライアントが必要です。Windows向けのTortoiseSVNといったGUIのクライアントもありますが、Linux/UNIX環境ではコマンドラインベースのsvnコマンドを利用することも多いです。co」コマンドを利用します。checkout」コマンドを実行すると、指定したリポジトリからファイルを取り出し、実行したディレクトリにします。update」コマンドを利用します。ci」コマンドを実行します。<コミットメッセージ>このとき、コミットメッセージには変更点の概要を説明する文章を指定します。コミットメッセージを省略すると自動的にエディタが立ち上がり、そこでコミットメッセージを入力することになります。rm」)コマンドを使用します。import」コマンドを使用します。<リポジトリのURL>ここでディレクトリを指定した場合、そのディレクトリ内のファイルやディレクトリが再帰的にリポジトリに追加されます。ファイルやディレクトリを省略した場合は「.」、つまりカレントディレクトリが追加されたものとして処理が実行されます。無償で利用できるシェルサーバー/Webサーバーでのsvnコマンドサポートこれらの機能は、OSDNへのアカウント登録を行うだけですべて無料で利用できます。作成できるリポジトリ数やサイズの制限などはありません。個人向け開発支援サービス「PersonalForge」では、Subversionの個人リポジトリやファイルアップローダー、Wikiといった機能を提供する「作業部屋」を利用できます。作業部屋は無制限に作成でき、また任意のファイルをアップロードして公開できます。PersonalForgeではOSDNが独自に開発したレポジトリブラウザが提供されており、任意のブランチのファイル一覧やコミット履歴、ブランチ/タグ一覧などをWebブラウザ上で確認できます。作業部屋を作成する開発プロジェクトにおけるSubversionリポジトリの提供オープンソースソフトウェア開発に向けた「プロジェクト」機能では、ソースコード管理システムを提供しています。GitおよびSubversion、Mercurial、Bazaar、CVSといったソースコード管理システムが利用可能で、GitおよびSubversion、Mercurialについては独自開発のリポジトリブラウザが提供されています。そのほかプロジェクト向けにはWikiやファイルリリース(アップローダ)、チケット、ニュース、フォーラム(掲示板)、メーリングリストと行った機能も利用できます。プロジェクトを作成する無償で利用できるシェルサーバー/WebサーバーでのsvnコマンドサポートOSDNでは、プロジェクトで開発したソフトウェアのテストやWebサイト構築に利用できるシェルサーバーを提供しています。シェルサーバーにはSSHを利用してログインでき、またMySQLデータベースの利用も可能です。シェルサーバーにはgitやsvn、hgといったコマンドがインストールされており、これらを使ってファイルをシェルサーバーにコピーすることが可能です。MagazineではSubversionを利用するための解説記事を用意しています。Subversionの詳しい使い方などはこれらの記事を参考にするとよいでしょう。