#pragma section-numbers off
[[TableOfContents]]
= 概要 =
Subversion は CVSに換る事、および最近の状況を組み込む事を目標としたバージョン管理システム。
subversion 1.0.1 を元に記述する。またApacheと連携とかは後まわしにして、個人環境で利用する方法を主にメモする。
とにかく楽に利用しようというのが基本です。
= URL =
http://subversion.tigris.org/
http://www.contactor.se/~dast/svnusers/
http://arch.bluegate.org/mailman/listinfo/subversion-jp
= インストール =
== dmg ==
パッケージが存在します。
[http://metissian.com/projects/macosx/subversion/ 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いれてないと出るはずです)
https://connect.apple.com/
いって 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"`
}}}
= Apache との連携 =
通常は不要です。svnserverを利用するのが楽。
httpd.confに設定
{{{
DAV svn
SVNPath /home/svn/sample
}}}
パス認証するなら以下のように設定
{{{
DAV svn
SVNPath /usr/subversion/rep
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /usr/local/svn/svn-auth-file
Require valid-user
}}}
= トラブルシュート =
== Can't recode stringが出る ==
localeを適切に設定してください。
Mac OS Xで利用可能なlocaleは/usr/share/locale/以下を参照してください。
== unable to convert to/from UTF-8が出る ==
入力のエンコーディングが不正です。
= Tools =
== svk ==
分散環境を作成できる模様
http://svk.elixus.org/
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://scplugin.tigris.org/ scplugin.tigris.org]
http://rapidsvn.tigris.org/
[http://www.einhugur.com/iSvn/index.html Einhugur Software]
[http://www.lachoseinteractive.net/en/community/subversion/svnx/features/ La Chose Interactive - Subversion]
[http://subcommander.tigris.org/ subcommander.tigris.org]
[http://www.smartcvs.com/smartsvn/ SmartSVN]
= 参考サイト =
http://www.xsteve.at/prg/vc_svn/svn.txt
[http://shiba.zive.net/ Subversion: 公式ガイド]
[http://subversion.bluegate.org/ Subversion によるバージョン管理]
[http://arch.bluegate.org/mailman/listinfo/subversion-jp Subversion-jpメーリングリスト]
[http://ukai.jp/debuan/2002w/subversion.txt subversion不徹底入門]
[http://ukai.jp/Articles/2003/uu-svn/ Subversionで管理せよ (draft)]
[http://www.saisse.jp/pukiwiki/pukiwiki.php?Subversion Subversion - Saisse's Wiki]
[http://terai.s55.xrea.com/?Subversion]
http://www.imasy.or.jp/~tai/wiki/index.php?UsingSubversion
[http://www.yamaizumi.org/subversion.html subversion のインストールと設定]
[http://www.02.246.ne.jp/~torutk/subversion/intro.html Subversionでバージョン管理]
http://slashdot.jp/article.pl?sid=04/02/23/154210
[http://www-aos.eps.s.u-tokyo.ac.jp/~takagi/SubversionMemo.html Subversion メモ]
= Mac OS Xでの利用関係 =
[http://scplugin.tigris.org/ scplugin.tigris.org]
[http://www.lachoseinteractive.net/en/community/subversion/svnx/features/ svnX - La Chose Interactive]
http://www.pycs.net/bbum/2004/2/24/#200402241
http://www.pycs.net/bbum/2004/2/28/#200402281
----
CategoryPrograming
CategoryMac