Contents
概要
Subversion は CVSに換る事、および最近の状況を組み込む事を目標としたバージョン管理システム。
subversion 1.0.1 を元に記述する。またApacheと連携とかは後まわしにして、個人環境で利用する方法を主にメモする。
とにかく楽に利用しようというのが基本です。
URL
http://www.contactor.se/~dast/svnusers/
http://arch.bluegate.org/mailman/listinfo/subversion-jp
インストール
dmg
パッケージが存在します。
Metissian - Projects - Mac OS X Packages - Subversion
Finkの利用
Fink でインストールするのが楽
http://fink.sourceforge.net/pdb/package.php/svn
http://fink.sourceforge.net/pdb/package.php/svn-ssl
もしネットワーク越しに利用するならsvn-sslが良い。
fink selfupdate-rsync fink install svn-ssl fink install svn-client-ssl
パッケージの選択によっては、いろんな物がインストールされます。
Can't resolve dependency "system-java14-dev"
といわれるかもしれない。(BuildDependsの記述あるのでJavaが1.4.2なのにDev Pacageいれてないと出るはずです)
いって Java 1.4.2 Developer Packageを取得してください。これないとだめです。
ソースインストール
ソースからインストールする場合は
http://subversion.tigris.org/project_packages.html
からtarballを取得します。
以下の物が必要です。Finkパッケージ出るまで手でコンパイルしてましたが、やめました。。
Neon library 0.24.4 (http://www.webdav.org/neon/)
Berkeley DB 4.X (http://www.sleepycat.com/download/db/index.shtml)
Apache Portable Runtime 0.9.5 (http://apr.apache.org/)
設定
環境変数
svn --help
してみてください。
当然PATHが設定されていないと起動しません。あと、まったく設定しないで起動すると以下のエラーがでると思います。
svn: error: cannot set LC_CTYPE locale svn: error: environment variable LC_ALL is en
このエラーがでてるってことはfinkでもPerlのエラーがでてると思います。
とりあえず以下に設定してください。
export LC_CTYPE=C export LC_ALL=C
だたしこの設定だと日本語コメント等が書けません。日本語の問題はsvnコマンドにencodingオプションの付加、またはconfigのlog-encodingを付加して回避します。
利用方法
ここでは devproject がレポジトリ名です。通常はプロジェクト単位でレポジトリを作成するのがおすすめです。しかし、個人で利用するなら自分の開発する物をすべて単一プロジェクトとしてしまうってもかまいません。
/Users/sakito は ホームディレクトリです。適時読み変えてください。
$ mkdir -p ~/var/svn/ $ svnadmin create /Users/sakito/var/svn/devproject $ svn mkdir -m "initial setup" file:///Users/sakito/var/svn/devproject/trunk $ svn mkdir -m "initial setup" file:///Users/sakito/var/svn/devproject/tags $ svn mkdir -m "initial setup" file:///Users/sakito/var/svn/devproject/branches $ cd ~/dev $ ls python java scheme <略>... $ svn co file:///Users/sakito/var/svn/devproject/trunk . $ svn add python java scheme $ svn ci -m "start loading it in"
上記は ~/dev 内の物を登録しています。これはdev内の物すべてを管理化に置きたくなかったためにやっています。通常は以下のようにします。
$ svn import -m "initial setup" /Users/sakito/dev file:///Users/sakito/var/svn/devproject/trunk
無視パターンの設定
.classとか.pycとかを管理化におきたくないという要求がある場合に設定します。
config
$HOME/.subversion/configを設定します。
[miscellany] global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store *.class *.pyc
tag
svn copy -m 'tag applescript-mode-0.0' file:///Users/sakito/var/svn/devproject/trunk/applescript-mode/ \ file:///Users/sakito/var/svn/devproject/tags/applescript-mode-0.0
確認
svn ls file:///Users/sakito/var/svn/devproject/tags/
バックアップ
svnadmin dump Users/sakito/var/svn/devproject/tags/ | gzip -9 > `date "+devproject%Y-%m-%d_%H:%M:%S.gz"`
トラブルシュート
Can't recode stringが出る
localeを適切に設定してください。
Mac OS Xで利用可能なlocaleは/usr/share/locale/以下を参照してください。
unable to convert to/from UTF-8が出る
入力のエンコーディングが不正です。
Tools
svk
分散環境を作成できる模様
http://svn.elixus.org/svnweb/repos/browse/member/clkao/svk/
http://www.contactor.se/~dast/svnusers/archive-2004-06/0463.shtml
http://www.contactor.se/~dast/svnusers/archive-2004-06/0474.shtml
svnservice
Winでサービスとしてsvnサーバを構築するためのツール
http://dark.clansoft.dk/~mbn/svnservice/
GUI Client
参考サイト
http://www.xsteve.at/prg/vc_svn/svn.txt
http://terai.s55.xrea.com/?Subversion
http://www.imasy.or.jp/~tai/wiki/index.php?UsingSubversion
http://slashdot.jp/article.pl?sid=04/02/23/154210
Mac OS Xでの利用関係
http://www.pycs.net/bbum/2004/2/24/#200402241
http://www.pycs.net/bbum/2004/2/28/#200402281