- 2008-04-01 (火) 5:44
- Ubuntu

Perlを好き勝手書いていると、ファイルがスパゲッティになってしまう可能性が高いので、 バージョン管理を導入したくなってきたので、自宅サーバにSubversionをインストール。
まずはインストールとちょっとした設定
$ sudo apt-get install subversion subversion-tool libapache2-svn
http経由でレポジトリを見れる様に、Apacheの設定をいじる。 ファイルは/etc/apache2/mods-enabled/dav_svn.confで、コメントアウト外すのめんどいので 一番最後に以下を追加。
<location /svn>
DAV svn
SVNParentPath "/home/username/svn"
</location>
これで、「http://hogehoge/svn/test」とアクセスしたときに、/home/username/svn/testに あるファイルにアクセスされる様です。レポジトリ保存用のフォルダは自分で作っておきましょう。
$ mkdir ~/svn/
ローカルでバージョン管理を体験
ではまずローカルでバージョン管理なるものを触ってみよう。
$ svnadmin create ~/svn/test
でtestというフォルダが作られ、その中に色々自動生成される。これはひとまず置いといて、 適当な場所に作業用の一時的なフォルダを作ってちょっといじってみる。
$ mkdir ~/work
$ mkdir ~/work/source
$ echo "Hello World" > ~/work/source/test.txt
こんな感じでとりあえずおおもとのソースを作る。sourceの中をバージョン管理したければ 以下の様にしてレポジトリにインポートする。
$ svn import ~/work/test_import file:///home/username/svn/test/ -m "initial import"
Adding /home/username/work/source/test.txt
Committed revision 1.
$ rm -fr ~/work/source
これやったら、もうこのフォルダは削除してよい。ではレポジトリからファイルを 取り出し(チェックアウトし)てみる。
$ mkdir ~/work/checkout
$ svn checkout file:///home/username/svn/test ~/work/checkout
A /home/username/work/test/test.txt
Checked out revision 1.
これで、レポジトリと同期した状況を~/work/checkoutに作ることができた。ちなみに 隠しフォルダで.svnが作られている。バージョン管理を実感するために、test.txtを変更して 差分を見てみる。
$ echo "Goodby World" > ~/work/checkout/test.txt
$ svn diff
Index: test.txt
===================================================================
--- test.txt (revision 1)
+++ test.txt (working copy)
@@ -1 +1 @@
-Hello World
+Goodby World
この更新をレポジトリに反映させるにはcommitする。
$ svn add ~/work/checkout/test.txt
$ svn commit -m "Change test.txt"
Sending test.txt
Transmitting file data .
Committed revision 2.
まぁこんな感じ。新しいファイルを追加するときは
$ svn add ~/work/checkout/hoge.txt
$ svn commit -m "Add hoge.txt"
インターネット経由でバージョン管理
実は大して変わらない。クライアントがコマンドラインなら、多分上の「file:///home/username/svn/test」 という部分を「http://hogehoge/svn/test」に変えればよい。但し、この場合Apache経由でファイルや ディレクトリを操作するので、パーミッションや所有者を変更しておく必要がある。Ubuntuの場合 Apacheはwww-dataなるユーザが動かすので以下の様に変更。
$ sudo chown -R www-data.www-data ~/svn/test
ちなみに、ブラウザから「http://hogehoge/svn/test」と叩いても見れる。すばらしい。
WindowsからはGUIで操作できるTortiseSVNというソフトをインストールするといいっぽい。 詳しくは参考サイトで。
参考サイト
Comments:0
Trackbacks:2
- Trackback URL for this entry
- http://blog.riywo.com/2008/04/01/054421/trackback
- Listed below are links to weblogs that reference
- UbuntuにSubversionを入れてバージョン管理でもしてみる from As a Futurist...
- trackback from M'sNOTE 09-06-14 (日) 4:20
-
バージョン管理システム(Subversion)のインストールと設定 - Ubuntu9.04
今回はバージョン管理システム(Subversion)をインストールしてみます。
- インストールと設定 まずは必要なパッケージをインストール。 mitsuki@u…
- pingback from hiroakit blog : UbuntuとApache 09-08-14 (金) 22:01
-
[...] 参照: UbuntuにSubversionを入れてバージョン管理でもしてみる [...]

