2017년 3월 4일 토요일

Linux-UbuntuでのSubversionのインストールと使い方


最近GitHubの方に現を抜かしていたせいで、Subversionの使い方を忘れていた自分が居たので使い方をまとめておきます。
環境はLinux-Ubuntuです。
まずはSubversionのインストールから

Subversion:インストール

1
$ sudo apt-get install subversion subversion-tools libapache2-svn
subversion-toolsはリポジトリのバックアップやファイルのマージ等を行うツール群がパッケージされています。
libapache2-svnはリポジトリをApache2を利用して公開するためのパッケージという事です。

Subversion:設定

インストールが終わったら、Subversionリポジトリをウェブサーバーで公開できるようにApache2の設定をしましょう。
1
$ sudo vim /etc/apache2/mods-enabled/dav_svn.conf
開いてみるとほぼ全文コメントアウトみたいな状態だと思います。
該当箇所だけコメントアウトを外すのは面倒くさいので、ファイルの一番下に
1
2
3
4
<Location /svn>
  DAV svn
  SVNParentPath /home/svn
</Location>
を追記してあげるといいと思います。
終わったら設定反映の為にApacheの再起動
1
$ sudo apache2ctl restart

Subversion:リポジトリの作成

さて設定が終わったので早速リポジトリを作成しましょう。
リポジトリの場所は本来好きな場所に設定する事ができますが、
上の方でApache2のSVN用公開ディレクトリを
SVNParentPath /home/svn
に設定していますのでココにディレクトリを作成し、リポジトリを作ります。
1
2
3
$ sudo mkdir /home/svn/
$ cd /home/svn/
$ sudo svnadmin create test
svnadmin create リポジトリ名
を実行すると自動的にSubversionを使うにあたって必要なファイル郡が作成されます。

Subversionファイル郡のユーザーグループ設定

このままではsudoによりroot権限でリポジトリ「test」を作成してしまった手前、
Apache2の権限ではSubversionファイル郡に触れる事ができません。ので
ユーザーを変更してあげる必要があります。
ちなみにApache2はwww-dataというユーザーで動いていますので~
1
$ sudo chown -R www-data:www-data test
chown -Rの-Rでディレクトリの中のすべてのディレクトリ、ファイルを一度にユーザー:www-data,グループ:www-dataに変更してしまう事ができます。
後はsvnコマンドのimportやcheckoutオプションを使ってファイルのインポートやチェックアウトが可能になります。

Subversion:運用の参考

参考:インポート

1
2
3
4
5
6
7
8
9
10
11
$ cd
$ mkdir test
$ cd test
$ cat > test
aaa
bb
ccc
^D
$ cd ../
$ svn import test/  http://localhost/svn/test/ -m "import test"
追加しています              test/test

参考:チェックアウト

1
2
3
$ 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などを使ってチェックアウトしてあげるとはかどります。
以上
尚、この記事を書くにあたり
すらすら はてなさんのサイト
を参考にさせていただきました。ありがとうございます。

댓글 없음:

댓글 쓰기