原创内容,转载请注明出处。
1.yum安装svn
yum install -y subversion
等待一会儿,显示下边的内容。
Dependency Installed: gnutls.i686 0:2.8.5-10.el6_4.2 libproxy.i686 0:0.3.0-4.el6_3 libproxy-bin.i686 0:0.3.0-4.el6_3 libproxy-python.i686 0:0.3.0-4.el6_3 neon.i686 0:0.29.3-3.el6_4 pakchois.i686 0:0.4-3.2.el6 perl-URI.noarch 0:1.40-2.el6 Complete!
2.验证是否安装完成
svnserve --version
这是我的显示内容。
svnserve,版本 1.6.11 (r934486) 编译于 Apr 11 2013,17:28:04 版权所有 (C) 2000-2009 CollabNet。 Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。 下列版本库后端(FS) 模块可用: * fs_base : 模块只能操作BDB版本库。 * fs_fs : 模块与文本文件(FSFS)版本库一起工作。 Cyrus SASL 认证可用。
3.创建svn版本库
mkdir /var/svn #我这里把版本库放在了var目录下的svn文件夹,方便管理 svnadmin create /var/svn/repo0 #我这里将svn作为所有版本库的目录,并创建了一个名为repo0的版本库
4.配置当前的版本库
创建版本库后,在当前版本库目录中会生成下面的文件,其中我们关心的是配置文件。
[root@localhost svn]# ls repo0 [root@localhost svn]# cd repo0 [root@localhost repo0]# ls conf db format hooks locks README.txt [root@localhost repo0]# pwd /var/svn/repo0 [root@localhost repo0]# cd conf [root@localhost conf]# ls -a . .. authz passwd svnserve.conf
说明:
(1)svnserve.conf: svn服务综合配置文件。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。
4.1 修改passwd文件
### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret repouser0 = user0passwd rock=rockpasswd
其中对应的是 用户名=密码 ,其中等号两边的空格不是必须的。
4.2修改authz文件
[aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average #这里实现了别名的定义 [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe team0=erpouser0 #将上面创建的分成两个组 team1=rock # [/foo/bar] # harry = rw # &joe = r #上面的别名定义在这里实现 &在这里理解为指针就很容易了 # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r [repo0:/] @team0=r @team1=rw # 第一个小组只有读取的权限,第二个小组有读写的权限 # 单个版本库的权限配置在这个文件中实现
4.3 修改svnserve.conf
vim svnserve.conf
[general] ### These options control access to the repository for unauthenticated ### and authenticated users. Valid values are "write", "read", ### and "none". The sample settings below are the defaults. anon-access = none #没有登录的用户不能访问 auth-access = write #登录的用户可以写入 ### The password-db option controls the location of the password ### database file. Unless you specify a path starting with a /, ### the file's location is relative to the directory containing ### this configuration file. ### If SASL is enabled (see below), this file will NOT be used. ### Uncomment the line below to use the default password file. password-db = passwd #密码文件为当前目录下的passwd ### The authz-db option controls the location of the authorization ### rules for path-based access control. Unless you specify a path ### starting with a /, the file's location is relative to the the ### directory containing this file. If you don't specify an ### authz-db, no path-based access control is done. ### Uncomment the line below to use the default authorization file. authz-db = authz #验证文件为当前目录下的authz
5 停止和启动svn
5.1启动svn
svnserve -d -r /var/svn/
5.2关闭svn
ps -aux |grep svn kill -9 进程id
6 导入工程
$ mkdir MyProject $ mkdir MyProject/trunk $ mkdir MyProject/branches $ mkdir MyProject/tags svn import MyProject svn://192.168.1.109/repo0/MyProject -m "first import project"
7导出工程
svn co svn://192.168.1.109/repo0/MyProject
8 总结
在互联网如此发达的今天,几乎你想要找什么技术文章都能找到,但是,你会发现,完全一样【标点都一样】的文章,出现在大大小小的网站,在想找到第二篇不同视点的文章,太难了。拿来主义很疯狂,我们这些技术人员需要的,更是创新。开源精神,从我做起。写技术博客,更多的是多自己的一种修行,一种提高,实践是最好的老师。
9参考文章
http://blog.csdn.net/shangliuyan/article/details/7351675 http://www.2cto.com/os/201209/157198.html
时间: 2024-09-27 21:28:55