まとめ(サーバ)

決めごと

  • cvsからログも含めて移行する
  • 一プロジェクト、一リポジトリ
  • svnとhttpでアクセス可能、更新はsvnのみ
  • ユーザ管理は情報を集約

準備とか

  1. sudo apt-get install subversion subversion-tools libapache2-svn
  2. mkdir /svn/java

ユーザ管理

  1. mkdir /svn/common
  2. sudo vi /svn/common
  3. vi /svn/common/svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
authz-db=authz
realm= Subversion Repository
  1. vi /svn/common/passwd
user1=平文パスワード
user2=平文パスワード
  1. vi /svn/common/authz
[groups]
dev = user1,user2
[/]
@dev=rw
[repository:/]
@dev=rw

プロジェクトの展開

プロジェクトごと繰り返す

  1. cvs2svn --encoding=cp932 --dump-only --dumpfile=pj.dump /cvs/java/PROJECT_NAME
  2. svnadmin create /svn/java/PROJECT_NAME
  3. svnadmin load /svn/java/PROJECT_NAME < ~/pj.dump
  4. rm /svn/java/PROJECT_NAME/svnserve.conf
  5. ln -s /svn/common/svnserve.conf /svn/java/PROJECT_NAME/svnserve.conf
  6. rm /svn/java/PROJECT_NAME/authz
  7. ln -s /svn/common/authz /svn/java/PROJECT_NAME/authz
  8. rm /svn/java/PROJECT_NAME/passwd
  9. ln -s /svn/common/svnserve.conf /svn/java/PROJECT_NAME/passwd
  10. sudo chown -R www-data:svnuser /svn/java/PROJECT_NAME

apache

  1. sudo vi /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn>
  DAV svn 
  SVNParentPath /svn/java
</Location>
  1. /etc/init.d/apache2 restart

svnserve

  1. sudo vi /etc/xinetd.d/svn
service svn
{
	disable		= no
	socket_type	= stream
	user		= svnuser
	wait		= no
	server		= /usr/bin/svnserve
	server_args	= -i -r /svn/java
}
  1. /etc/initd.d/xinetd restart