1 ��װSVN
�������أ�http://subversion.apache.org/packages.html
SVN�ͻ��ˣ�TortoiseSVN���������أ�http://tortoisesvn.net/downloads.html
# yum install subversion:
1.�½�һ��Ŀ¼���ڴ洢SVN�����ļ�
# mkdir /svn
2. �½�һ����Դ�ֿ�
# svnadmin create /svn/project # ls /svn/project/ conf db format hooks locks README.txt
Ŀ¼��;˵����
l hooksĿ¼������hook�ű��ļ���Ŀ¼
l locksĿ¼����������subversion��db���ļ���db_logs���ļ���Ŀ¼�������ٴ�ȡ�ļ���Ŀͻ���
l format�ļ�����һ���ı��ļ�������ֻ����һ�������ʾ��ǰ�ļ������õİ汾��
l confĿ¼��������ֿ�������ļ����ֿ���û������˺š�Ȩ�ȣ�
3. ����svn����������ļ�svnserver.conf�ļ�
# vi /svn/project/conf/svnserve.conf [general] anon-access = none auth-access = write password-db = /svn/project/conf/passwd authz-db = /svn/project/conf/authz realm = My Test Repository #���Ǹ���ʾ��Ϣ
����
4. ������������û�������
# vi /svn/project/conf/passwd [users] xiaoran.shen = 123456 test1 = 123456 test2 = 123456
����
ע�������û������ļ�����������Ч����������svn����
5. �������û�����Ȩ�ļ�
# vi /svn/project/conf/authz [groups] admin = xiaoran.shen,test1 user = test2 [/] @admin = rw @user = r * =
����
��ʽ˵����
�汾��Ŀ¼��ʽ��
[<�汾��>:/��Ŀ/Ŀ¼]
@<�û�����> = <Ȩ��>
<�û���> = <Ȩ��>
/ ��ʾ�Ը�Ŀ¼����/svn/projectĿ¼���µ�������Ŀ¼��Χ����Ȩ�ޣ�
[/abc] ��ʾ�����Ͽ���abc��Ŀ����Ȩ�ޣ�
����һ��admin�飬���Ա����xiaoran.shen��test1
����һ��user�飬��Աֻ��test2��
admin���Ŀ¼�ж�дȨ�ޣ�
�����û�test2�ж�дȨ�ޣ�
*=��ʾ�����������õ�Ȩ���û������⣬���������û������ÿ�Ȩ�ޣ���Ȩ�ޱ�ʾ��ֹ���ʱ�Ŀ¼�������Ҫһ��Ҫ���ϡ�
ע�⣺��Ȩ�������ļ�����������Ч����������svn��
6. ����svn����
svnserve -d -r /svn/project/
ע�⣺��Ҫʹ��ϵͳ�ṩ�� /etc/init.d/svnserve start ����������ΪϵͳĬ�ϵ������ű���û��ʹ�� �Cr /svn/project����ָ��һ����Դ�����������������svn���ͻ������ӻ���ʾ��svn: No repository found in 'svn://192.168.11.229/project' ������Ĵ���
Ĭ��svn�������˿���3690��
ɱ��svn����
# ps -ef|grep svn root 4642 1 0 16:08 ? 00:00:00 svnserve -d -r /svn/project/ root 4692 3676 0 16:13 pts/2 00:00:00 grep svn # kill -9 4642
��Ҫʹ��/etc/init.d/svnserve �ű���������start��������֣����£�
start() { [ -x $exec ] || exit 5 [ -f $config ] || exit 6 echo -n $"Starting $prog: " daemon --pidfile=${pidfile} $exec $args -r /svn/project retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval }
���
2 ʹ�ÿͻ�������
2.1 ʹ��windows�Ŀͻ���
��TortoiseSVN Repository Browser����
��URL�����룺
svn://192.168.11.229�س�����ʾ�����û���Ϳ���
2.2 ʹ��Linux�µ�������
# svn co svn://192.168.11.229
3 FAQ
3.1 �����з�ʽ���ӣ���ʾsvn: No repository found in 'svn://192.168.11.229/project'����
���������svn�����ʱ��û��ʹ��-r /svn/project����û��ָ����Դ��ľ���·����ʹ��# svnserve -d -r /svn/project/ �����������Ϳ����ˣ���Ҫʹ��/etc/init.d/svnserver�ű���
3.2 ִ������# svn co svn://192.168.11.229/projectʱ��ʾ��svn: Authorization failed������
�����һ��������Ȩʧ�ܵĴ���ԭ������conf/authz�ļ�������
��ȷ���������£�
[groups] admin = xiaoran.shen,test1 user = test2 [/] @admin = rw @user = rw * =