1、首先安装SVN这个软件
apt-get install subversion
2、在home目录下创建一个名为svn的文件夹(文件夹的名字随便起)
mkdir /kk/svn/rda8501_common
3、创建数据仓库(可以根据需要创建多个)
svnadmin create /kk/svn/rda8501_common
4、启动/停止svn网络服务
svnserve -d -r /kk/svn/rda8501_common
其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址。 /kk/svn/rda8501_common指定svn数据仓库存放的目录位置
sudo killall svnserve
5、设置svn: 方式的访问权限
在每个数据仓库目录下都有一堆目录,进入 conf 并打开 svnserve.conf 这个文件,找到以下几行,
并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格。
anon-access = none //注意:anon-access = read 如果匿名可读 “TortoiseSVN” show log会有问题。
auth-access = write
password-db = passwd
realm = /kk/svn/rda8501 //配置服务器路径
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限。
但如果想拒绝匿名用户的访问,只需把 anon-access的read 改成 none 就能达到目的。
password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserve.conf 在
同一个目录,下面看看怎么配置
passwd文件中的内容
[user]
# harry = harryssecret
# sally = sallyssecret
harry 和 sally 这两行分别定义了可以对 库 进行写入的用户的用户名和密码。我们可以在下面加上
自己的用户名和密码,比如
kk = rad_kk
这样就给了用户 kk 往 repo 中写的权限。存盘退出后,svn 服务器就算正式可以运行了!
把所有需要管理的项目都放在/kk/svn这个目录下,像正常那样用 svnadmin create 命令建立数据仓库。
配置authz: 访问权限
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
jiangzhaowei = rw
~
checkout-检出的三种方式:
1)
svn co file:///目录名/库名字 //局域网方式
svn co file:///kk/svn/rda8501_common // file 检出实例 橙色标记为 绝对路径
2) IP方式
svn://IP地址/仓库名称
svn co svn://192.168.1.101/rda8501_common // 仓库名称不能包含路径字串
svn co svn://220.231.xx.xx/rda8501_common // 仓库名称不能包含路径字串
svn co -r 356 svn://220.231.xx.xx/rda8501 //检出到版本号为 “356” 的版本
checkin:第一次检入
find . -name .svn | xargs rm -rf //清除目录下是".svn"文件
svn import . svn://220.231.xx.xx/rda8501_common -m " " --no-ignore
"--no-ignore:可选,如果希望第一次提交时,将目录的所有文件(*.o),都提交上去的话,需要次参数。
6、SVN 多项目仓库管理
# 在home/www目录下建立多个仓库 |
svnadmin create home/www/svn1 |
svnadmin create home/www/svn2 |
svnadmin create home/www/svn3 |
#建立后每个仓库下都有conf目录,可分别配置账户、权限等 |
#只需要启动home/www目录 |
svnserve -d -r home/www |
#svn的url分别是 |
注意:多仓库管理,访问路径为,svn://IP地址/仓库名称 仓库名称不能包含路径字串
最近升级了下linode,发现svn 不能提交和更新,报svn: E000061: Unable to connect to a repository at URL这样的错误,后来查了些资料,原来是svn的端口没有打开,svn的默认端口是3690,在ubuntu里查看端口打开情况,命令是 netstat -anp,把svn服务重新启动下就可以了,命令为svnserve -d -r /home/svn