hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

WindowsでSubversionサーバを立てた


スポンサーリンク


完璧じゃないけど、LANネットワーク内でSubversionのサーバを立ててみました。OSはWindows。使い方もわかってきたので自宅のサーバ*1にも導入してみようかな。
というわけで個人的メモ。

インストール

SubversionのHPに行ってWindowsのバイナリをダウンロードしてインストール。
subversion.tigris.org
SlikSvnのバイナリをダウンロードしました。
注意点としては、インストールする際はサーバも追加でインストールすること。まぁ、後でも追加でインストールできますが。

リポジトリの作成

リポジトリを作りたいフォルダに移動して、svnadmin。

svnadmin create --fs-type fsfs d:\repo\test

普段使っているTortoiseSVN*2リポジトリを作れるけど、問題が発生する可能性があるらしい。特にネットワークだと避けた方がいいみたい。

リポジトリのアクセス権を変更

svnプロトコルにもアクセス権やら認証やらあるみたい。デフォルトでは読み込みはできるけど書き込みが出来ない状態になっている。
今回はLAN内でどんな人でもアクセス可能にしたいので、設定を変更する。
変更するファイルはリポジトリのフォルダのconf/svnserve.conf。
デフォルトの設定値がコメントで書かれているので、そのうちanon-accessがreadになっているのでここを変更する。

anon-access = write

とりあえず、これで。


アクセス権の設定をしない状況になったら、また調べようと思う。

サーバの起動

svnserve.exe --daemon --root d:\repo

クライアントからのアクセス

URLはこんな感じで。

svn list svn://サーバのマシン名/test

TortoiseSVNならURLにsvn://以降のアドレスを入力すればオッケー。

改善したいこと

拡張子による自動無視設定

統合開発環境とかを登録すると、毎回自動生成されるファイルなどがある。それらのファイルが生成されるたびにバージョンが上がっていくのも面倒なので、Subversionに登録しないファイルを設定したい。
調べた限りだと、subversionフォルダの中にあるconfigってファイルを編集して、次のように記載すればいいらしい。

[miscellany]
global-ignores = *.o *.r31

でも、SlikSvnにはconfigが見当たらないのでやれていない。


ignore-listへの追加でもなんとかなるのでそちらで対応。でも凄く面倒。なんとかしたいところ。

サーバをサービスに登録したい

Windowsならscコマンドでできるみたい。XPなら標準で入っているコマンド。

sc create svnserve binpath= "c:/Program Files/sliksvn/bin/svnserve.exe --service --root d:\" displayname= "Subversion" depend= tcpip start= auto

ちなみに、displayname=などの後にあるスペースは外すとNGでした。
で、一応成功って帰ってくるんだけど、なぜかリポジトリにアクセスができなかった。
管理ツールのサービスで確認したら、開始できていないみたいだった。


要調査です。


関連:subversionを導入した(未完) - hellkite 日記と雑記とメモ。

*1:Linuxだけど

*2:Windows用のクライアントソフト