subversionでソース管理
とりあえず、自分の作業マシン(ThinkPadT42)とサーバ(Ubuntu7.10)の間だけのクローズドな環境で使用するためにsubversionを導入してみます。慣れてくれば、apache2のVirtualHostに登録して「http://svn.localhost/」で公開してみるつもり。
インストール
いつものごとく簡単です。
$ sudo apt-get install subversion 以下の特別パッケージがインストールされます: libneon26 libsvn1 提案パッケージ: subversion-tools db4.4-util patch 以下のパッケージが新たにインストールされます: libneon26 libsvn1 subversion アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 1 個。 取得:1 http://jp.archive.ubuntu.com gutsy/main libneon26 0.26.3-1 [122kB] 取得:2 http://jp.archive.ubuntu.com gutsy/main libsvn1 1.4.4dfsg1-1ubuntu3 [602kB] 取得:3 http://jp.archive.ubuntu.com gutsy/main subversion 1.4.4dfsg1-1ubuntu3 [241kB] libsvn1 (1.4.4dfsg1-1ubuntu3) を設定しています ... subversion (1.4.4dfsg1-1ubuntu3) を設定しています ... Processing triggers for libc6 ... ldconfig deferred processing now taking place
これですでに「subversion」のサーバが起動している模様。
ユーザを作る
「subversion」を使うためのユーザ「svn」を作ります。
$ sudo adduser svn Adding user `svn' ... Adding new group `svn' (1001) ... Adding new user `svn' (1001) with group `svn' ... Creating home directory `/home/svn' ... Copying files from `/etc/skel' ... Enter new UNIX password: ****** Retype new UNIX password: ****** passwd: password updated successfully Changing the user information for svn Enter the new value, or press ENTER for the default Full Name : Room Number : Work Phone : Home Phone : Other []: Is the information correct? [y/N] y
$ su svn Password: ****** svn:/home$
テスト用リポジトリを作る
こちら(→Ubuntu/subversion - TOBY SOFT wiki)を参考に、まずは言われた通りやってみます。
svn:/home$ cd /home/svn svn:~$ svnadmin create 2555
ついでにテスト用ファイルも作っておきます。
svn:~$ mkdir ~/work svn:~$ cd ~/work svn:~/work$ mkdir test_import svn:~/work$ cd test_import svn:~/work/test_import$ mkdir trunk branches tags svn:~/work/test_import$ echo "Hello, subversion!!" > trunk/test.txt
いま作った「~/work/test_import」をリポジトリにインポートしてみます。
svn:~/work/test_import$ svn import . file:///home/svn/2555/ -m "initial import" Adding trunk Adding trunk/test.txt Adding branches Adding tags Committed revision 1.
OKですね。
リポジトリの確認とチェックアウト
いまのリポジトリの内容を確認してみます。
svn:~/work/test_import$ svn ls -R file:///home/svn/2555/ branches/ tags/ trunk/ trunk/test.txt
ちゃんとインポートしたものが入っています。ではこれを「~/work/test_checkout」にチェックアウトしてみます。
svn:~/work/test_import$ cd .. svn:~/work$ mkdir test_checkout svn:~/work$ cd test_checkout svn:~/work/test_checkout$ svn checkout file:///home/svn/2555/trunk A trunk/test.txt Checked out revision 1.
大丈夫ですね。
次はネットワーク越しにやってみます。
参考
- こちら(→Ubuntu/subversion - TOBY SOFT wiki)が激しく参考なります。他の記事も参考にさせていただきまくりです。感謝してます。