CentOSにSubversionをいれてみよう
http://park1.wakwak.com/~ima/centos4_subversion0001.html
とか
http://centossrv.com/subversion.shtml
とか参考に。
リポジトリをつくる
プロジェクトをつっこむためのSVNリポジトリってのをまず作る。
リポジトリは、最初に空ディレクトリをつくってからsvnadminコマンドで作る。
# mkdir -p /usr/local/svn/repos # svnadmin create /usr/local/svn/repos
完了。見てみると空だったディレクトリになんかファイルができているようだ。
# ls /usr/local/svn/repos/ README.txt conf dav db format hooks locks
プロジェクト(モジュール)を登録してみる
適当にそれっぽいファイルを捏造する。
# cd /home/gulibow/ # mkdir -p test01/src # mkdir -p test01/lib # echo "hoge" > test01/src/hoge.txt # echo "foo" > test01/lib/foo.txt # echo "bar" > test01/lib/bar.txt # ls -R test01/ test01/: lib src test01/lib: bar.txt foo.txt test01/src: hoge.txt
こいつを、svn importで登録する。
# svn import -m 'import test' test01 file:///usr/local/svn/repos/test01 追加しています test01/lib 追加しています test01/lib/foo.txt 追加しています test01/lib/bar.txt 追加しています test01/src 追加しています test01/src/hoge.txt リビジョン 1 をコミットしました。
ちなみにrepos配下のtest01ってのはここで適当に指定した。予め作ったりとかはしてない。
成功してんだろうか・・・
指定リポジトリの中身をみるにはsvn listを使う。yum listみたいな感じ。
# svn list file:///usr/local/svn/repos test01/
おお。できてるっぽい。今度はtest01の中身をみてみる。
# svn list file:///usr/local/svn/repos/test01 -R lib/ lib/bar.txt lib/foo.txt src/ src/hoge.txt
おおー。ちゃんと入ってるっぽいな。
チェックアウトしてみよう。
# cd /home/gulibow # mkdir -p work/projects/test01 # svn checkout file:///usr/local/svn/repos/test01 work/projects/test01 A work/projects/test01/lib A work/projects/test01/lib/foo.txt A work/projects/test01/lib/bar.txt A work/projects/test01/src A work/projects/test01/src/hoge.txt リビジョン 1 をチェックアウトしました。 # ls work/projects/test01 -R work/projects/test01: lib src work/projects/test01/lib: bar.txt foo.txt work/projects/test01/src: hoge.txt
trunk, branch, tag
とりあえず適当にimportしちゃったけども・・・
Subversionではあらかじめtrunk, tag, branchってディレクトリをわけて登録しておくのが「慣例」らしい。
branchはbranch配下におくってことね。
# svn mkdir file:///usr/local/svn/repos/test01/trunk -m "create" # svn mkdir file:///usr/local/svn/repos/test01/tags -m "create" # svn mkdir file:///usr/local/svn/repos/test01/branches -m "create" # svn import -m 'import test' test01 file:///usr/local/svn/repos/test01/trunk
ゴミが残ってる気がするが気にしないw
これが正しいやりかたっぽい。
tagをうつ場合は、
# svn copy file:///usr/local/svn/repos/test01/trunk file:///usr/local/svn/repos/test01/tags/release-1.5 -m "rev1.0"
これで。