クライアントの設定については、
configファイルとserversファイルにて管理されます。
この二つのファイルはテキストファイルで、テキストエディタにて書き換えることが可能。
(レジストリのHKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion以下に格納することも可能です。)
Windowsをクライアントに使用している場合、一番初めにSVNをコマンドラインにて
実行した時に、ユーザーのホームディレクトリのApplication Data配下に、
Subversionというフォルダが作成され、
その配下に、configとserversのファイルが作成されます。
(C:\Documents and Settings\xxxx\Application Data\Subversionという感じ)
これらのファイルはINIファイル形式にて記述されます。
serversファイルですが、
ProxyやSSLを使用する場合の記述をこのファイルに書き込めます。
今回のさくらでSubversionを使用する場合は、SSLもProxyを使用していないので記述の変更なし。
次にconfigファイルの設定変更。
[miscellany]セクションの変更
- enable-auto-props
最初にインポートしたときにSubversionとしての属性を自動的に変更するかの設定。
初期値はnoです。enable-auto-props = yes
に書き換える。
キーワード置換などは、インポートしたファイルの属性となるので、yesにして自動的に変更されるようにする。 - global-ignores
svnコマンドで無視するファイルを設定できる。
ログファイルやEclipseの設定ファイルはバージョン管理する必要がないので、ここに加えて無視するようにする。
*.o *.lo *.la #*# .*~ *~ .#* .DS_Store はデフォルトの設定global-ignores = *.o *.lo *.la #*# .*~ *~ .#* .DS_Store *.log .*.html .*.htm .project .includepath
「.*.html」と「.*.htm」はAptanaの生成するファイル、
「.project」と「.includepath」はEclipseの設定ファイル。
様々な属性(プロパティ)を設定するセクション
- キーワード置換用の設定値(svn:keywords)
コミット、インポート時に、時間やファイル名、リビジョンなどの動的な情報についてを、指定のキーワードと置換してくれるようになります。*.cgi = svn:keywords=Id Date Author Rev URL
*.pm = svn:keywords=Id Date Author Rev URL
*.html = svn:keywords=Id Date Author Rev URL
*.htm = svn:keywords=Id Date Author Rev URL
*.txt = svn:keywords=Id Date Author Rev URL
*.js = svn:keywords=Id Date Author Rev URL
*.css = svn:keywords=Id Date Author Rev URL
*.sql = svn:keywords=Id Date Author Rev URL
該当のファイルに対してどのキーワードを置換するか設定する。
Date Author Rev URL*.sql = svn:keywords=Id Date Author Rev URL
だと、「$Id$」、「$Date$」、「$Author$」、「$Rev」、「$URL$」の5つのキーワードを
該当する値へ置換してくれる。
PerlのPMファイルだとこんな風に使ってます。package Logger;
が一番最初にインポートしたときに↓のように展開され、今後、コミットする度に新しく置換キーワードが展開されるようになる。
=head1 NAME Logger
$Id$
=head1 SYNOPSIS
For test use module.
=head1 DESCRIPTION
Release Date : $Date$
Revision : $Revision$
Author : $Author$
Description :
=cutpackage Logger;
もし、HTMLなら開発中はファイルの末尾にでも、コメントアウトして、
=head1 NAME Logger
$Id: Logger.pm 16 2007-03-12 01:59:39Z myways $
=head1 SYNOPSIS
For test use module.
=head1 DESCRIPTION
Release Date : $Date: 2007-03-12 10:59:39 +0900 (月, 12 3 2007) $
Revision : $Revision: 16 $
Author : $Author: myways $
Description :
=cut$Id$
とか入れておけばOK。 - MIMEタイプの設定(svn:mime-type)
Subversionで見るMIMEタイプの設定
非テキスト系のMIMEタイプを設定しておくとバイナリファイルとして扱われるようになる。
さくらのsvn+sshでは関係ないけど、ブラウザ上からリポジトリにアクセスする場合にも
ここで設定した値からファイルを開くアプリ等を決定する。*.png = svn:mime-type=image/png
このような感じで設定。
*.jpg = svn:mime-type=image/jpeg
*.xls = svn:mime-type=application/vnd.ms-excel
*.xlsx = svn:mime-type=application/vnd.ms-excel
*.ppt = svn:mime-type=application/vnd.ms-powerpoint
*.pptx = svn:mime-type=application/vnd.ms-powerpoint
*.zip = svn:mime-type=application/zip
*.mp3 = svn:mime-type=audio/mpeg - EOF、改行の設定(svn:eol-style)
コミット後にEOF、改行の扱いが重要になる場合に設定が必要。
複数のOSによって開発を行う場合、改行コード(EOLマーカ)の扱いが異なるために、
そこの修正などによって、差分が発生してしまい面倒なことになってしまうことがあります。
そこで、さくらのサーバにSSHでログインしていじってインポート、コミットするファイルについて
設定を行います。*.sh = svn:eol-style=native;svn:executable
このような感じで設定すれば、クライアント側の設定がすべて完了。