Subversion管理

すっかり忘れてた自分メモ。

1.リポジトリの作成

前回書いたのと重複してるけど気にしない。

C:\svn>svnadmin create <RepositoryName>

自分はsvnserveでイントラ内のみ公開してるんで、リポジトリ管理してるフォルダにcreateオプションを使って作成。

2.アクセス制限

リポジトリへの参照権限と書き込み権限を設定。
リポジトリ/conf/svnserve.conf を編集。

[general]
anon-access = read
auth-access = write
password-db = passwd

「#」でコメントアウトされているのを削除するだけでいいんだけど、フォーマットが決まってるのか先頭にスペースがあったりするとダメ。
anonは匿名、authは認証されたユーザでの動作を記述。
認証ユーザはpassword-dbで指定したファイルに記述。
リポジトリ/conf/passwd を編集。

[users]
foo = bar

左辺にユーザ名、右辺にパスワード(平文)

3.リポジトリ操作

c:\work>svn checkout svn://localhost/svn/<RepositoryName>
c:\work>svn commit --username <UserName> --password <Pass>

詳しくはsvn helpで。


実際はクライアントでチェックアウトするなりコミットするなりするからコマンドはとくに覚える必要ないかな。
認証ユーザのファイルは平文で書くのが気になるところ。
SSHも使えるみたいなんだけど、設定が面倒なのでパス。
WebDAV使った公開方法だとhttpdのpasswdコマンドつかってユーザ管理は可能。
svnserveでも一応通信時にパスワードはmd5で暗号化されてるらしいけど…。
まぁ、イントラネットだしいいかなと。