Subversionはソースを管理するための便利な管理システムです。
オープンソースとなっており、無料で使用できます。
当記事では、Subversionで使用する代表的なコマンドを紹介します。
ディレクトリを作成して、svnadmin createを実行するだけでリポジトリを作成できます。
$ makedir /home/user/svn/sample
$ svnadmin create /home/user/svn/sample
$ svn mkdir file:///home/user/svn/sample/trunk file:///home/user/svn/sample/tags file:///home/user/svn/sample/branches -m 'Create trunk,tags, and branches.'
既存のプログラム(project)をimportする場合は以下のようにします。
$ svn import project file:///home/user/svn/sample/trunk -m 'import sample'
checkoutを実行して、リポジトリのプログラムを取り込みます。
以下では、trunk内のプログラムをsystemディレクトリ内にcheckoutしています。
$ svn checkout file:///home/user/svn/sample/trunk/ system
このようにして、開発環境ができあがります。
svn stコマンドを入力することで、変更したファイルの一覧を表示することができます。
基本的に、新規追加ファイルは[A]、変更ファイルは[M]、削除ファイルは[D]と表示されます。
ファイルを追加する場合は、svn add [ファイルのパス]で追加します。
ファイルを削除する場合は、svn del [ファイルのパス]で削除を行います。
そして以下のようにsvn stコマンドで確認を行います。
$ svn st
リポジトリと開発環境の差分を表示します。
ファイル内の変更点が全て表示されるため、どこを変更したのか確認することができます。
$ svn diff
svn revertを使用することで、変更したファイルを元の状態に戻すことができます。
元の状態とは、リポジトリに登録されている状態です。
$ svn revert [ファイルのパス]
変更箇所をリポジトリに反映します。
$ svn ci -m "add images"
-m でメッセージを簡単に入力します。
現在の開発環境を最新状態にします。
最新状態とはリポジトリに登録されているファイルのことです。
つまり、リポジトリの内容を開発環境へ反映します。
$ svn update
svn switchを使用することでリポジトリを切り替えることができます。
以下の例では、使用するリポジトリをsample2/trunk/に切り替えています。
$ svn switch file:///home/user/svn/sample2/trunk/
svn infoでは、リポジトリのURL、リビジョンなどの各情報を表示します。
$ svn info
コミットの履歴を表示します。
リビジョン、日時、メッセージなどが表示されます。
$ svn log
リポジトリなどのコピーを行います。
以下では、trunkの内容をtags/release-20130722にコピーしています。
$ svn cp file:///home/user/svn/sample/trunk file:///home/user/svn/sample/tags/release-20130722
リポジトリなどのファイルをエクスポートします。
以下では、tags/release-20130722内のファイルをsystemディレクトリ内にエクスポートしています。
$ svn export file:///home/user/svn/sample/tags/release-20130722/ system/
リポジトリなどの削除を行います。
以下では、release-20130722のディレクトリを削除しています。
$ svn delete file:///home/user/svn/sample/tags/release-20130722
指定したリポジトリの内容とマージ処理を行います。
svn mergeでを実行したあと、競合の解決、その他のチェックを行った後にコミットします。
$ svn merge file:///home/user/svn/sample/tags/release-20130722