最近GitHubの方に現を抜かしていたせいで、Subversionの使い方を忘れていた自分が居たので使い方をまとめておきます。
環境はLinux-Ubuntuです。
まずはSubversionのインストールから
Subversion:インストール
$ sudo apt-get install subversion subversion-tools libapache2-svn
subversion-toolsはリポジトリのバックアップやファイルのマージ等を行うツール群がパッケージされています。
libapache2-svnはリポジトリをApache2を利用して公開するためのパッケージという事です。
Subversion:設定
インストールが終わったら、Subversionリポジトリをウェブサーバーで公開できるようにApache2の設定をしましょう。
$ sudo vim /etc/apache2/mods-enabled/dav_svn.conf
開いてみるとほぼ全文コメントアウトみたいな状態だと思います。
該当箇所だけコメントアウトを外すのは面倒くさいので、ファイルの一番下に
[xml]
<Location /svn>
DAV svn
SVNParentPath /home/svn
</Location>
[/xml]
を追記してあげるといいと思います。
終わったら設定反映の為にApacheの再起動
$ sudo apache2ctl restart
Subversion:リポジトリの作成
さて設定が終わったので早速リポジトリを作成しましょう。
リポジトリの場所は本来好きな場所に設定する事ができますが、
上の方でApache2のSVN用公開ディレクトリを
SVNParentPath /home/svn
に設定していますのでココにディレクトリを作成し、リポジトリを作ります。
$ sudo mkdir /home/svn/
$ cd /home/svn/
$ sudo svnadmin create test
svnadmin create リポジトリ名
を実行すると自動的にSubversionを使うにあたって必要なファイル郡が作成されます。
Subversionファイル郡のユーザーグループ設定
このままではsudoによりroot権限でリポジトリ「test」を作成してしまった手前、
Apache2の権限ではSubversionファイル郡に触れる事ができません。ので
ユーザーを変更してあげる必要があります。
ちなみにApache2はwww-dataというユーザーで動いていますので~
$ sudo chown -R www-data:www-data test
chown -R
の-Rでディレクトリの中のすべてのディレクトリ、ファイルを一度にユーザー:www-data,グループ:www-dataに変更してしまう事ができます。
後はsvnコマンドのimportやcheckoutオプションを使ってファイルのインポートやチェックアウトが可能になります。
Subversion:運用の参考
参考:インポート
$ cd
$ mkdir test
$ cd test
$ cat > test
aaa
bb
ccc
^D
$ cd ../
$ svn import test/ http://localhost/svn/test/ -m "import test"
追加しています test/test
参考:チェックアウト
$ svn checkout http://localhost/svn/test
A test/test
リビジョン 1 をチェックアウトしました。
また、Apache2によってwebserver上にリポジトリが公開されていますので
ブラウザ等を開き、アドレス欄にdomain/svn/リポジトリ名/と入力
(先ほどの例ではdomain/svn/test/になりますね。)
する事でインポートしたファイルの一覧を見ることができるようになっています。
Linux自体から参照する場合は当然、http://localhost/svn/test/に
またIPで示すならばlocalhostを表わす http://127.0.0.1/svn/test/で
リポジトリを参照する事ができます。
Windowsからチェックアウトする時にはTortoiseSVNなどを使ってチェックアウトしてあげるとはかどります。
以上
尚、この記事を書くにあたり
すらすら はてなさんのサイトを
を参考にさせていただきました。ありがとうございます。
この記事へのコメントはありません。