Subversion(SVN)とは
Subvesionはいわゆるバージョン管理システム。最近ではGitが有名だと思う。
Gitが出てくるまではSubversionがスタンダードなバージョン管理システムだったが、Gitが出てきてほぼ使われなくなってきた。
しかし、まだたまにSVNを触る機会はあるのでまとめてみる。
リポジトリを作成する
sudo -u svn svnadmin create /path/to/repository/project
これで、projectというリポジトリが作成できる。
-uはsudoのオプションで、どのユーザとして実行するかを示している。今回はsvnというユーザとしてsvnadminコマンドを実行している。
プロジェクトごとの設定
/path/to/repository/project/conf/svnserve.conf
にプロジェクトごとに適応される設定ファイルがある。ローカルネットワーク内でのみ使用するのであれば特に編集せずとも大丈夫だと思う。
設定ファイルの[general]内に
anon-access = write
と書いておけば、すべてのユーザが書き込みできるようになる。信用できるローカルなネットワーク内でのみ運用するのであればこれで問題なさそう。
オープンなネットワークなど複数のプロジェクトと関係ないユーザが使えるネットワークの場合はきっちりとセキュリティを考慮した設定をしたほうがいい。
初期コミットまでの簡単な流れ
#プロジェクト作業をするディレクトリに移動
cd ~/src
#チェックアウトする
svn co svn://hostname/project
#プロジェクトのディレクトリに移動する
cd project
#からのプロジェクトの場合、基本的なディレクトリを作成する
mkdir trunk tags branches
#SVNの管理に作成したディレクトリを追加する
svn add trunk tags branches
#チェックインする
svn ci
これで作業するベースが整ったので、trunディレクトリに開発対象のファイルを追加、add,ciして作業していけばOK。
デフォルトエディタ
チェックイン時のコメント入力などで起動するエディタは、debianの場合update-alternativesコマンドで変更できる。このコマンドで指定したエディタはsvn ciの他、crontab -eなどで起動するエディタなどにも適応される。
sudo update-alternatives --config editor