Install SVN in ubuntu
Install SVN Server
一、首先安装svn
sudo apt-get install subversion
二、创建svn账户(可选,以后操作方便,不创建也是可以的,直接用root)
useradd -d /home/svn -d svn
三、创建svn软件仓库
svnadmin create --pre-1.6-compatible mycode
这里添加 --pre-1.6-compatible 是兼容性的考虑,否则提交代码时会提示“post commit FS processing had error: Couldn’t open rep-cache database”
四、修改配置
创建软件仓库后,进入mycode文件夹下,就可以看到下面这些文件:
[root@localhost mycode]# ls
conf db format hooks locks README.txt
进入conf文件夹,包含文件如下:
[root@localhost conf]# ls
authz hooks-env.tmpl passwd svnserve.conf
简单介绍一下:
authz:权限控制文件
passwd:用户设置文件
svnserve.conf:svn 服务配置文件
首先添加用户,修改passwd文件:
[users]
#harry = harryssecret
#sally = sallyssecret
test = 123456
work = 123456
test和work就是新增的svn用户,密码均为123456
再更改权限控制,修改authz文件:
[groups]
#harry_and_sally = harry,sally
#harry_sally_and_joe = harry,sally,&joe
admin = aaa,bbb,ccc
factory = ddd,eee
[/]
@admin = rw
* =
[/maserati_for_factory]
@admin = rw
@factory = rw
然后修改svn服务的配置,修改svnserve.conf:
主要打开下面4项:
anon-access = none #表示不允许匿名登陆
auth-access = write #账号登陆可以有写权限
password-db = passwd #启用用户配置
authz-db = authz #启用权限配置
最后启动svn服务
svnserve -d -r svn_root/mycode #-d表示后台运行, -r表示后面为软件仓库的路径
五、可以进行登陆操作了
使用svn客户端软件,访问svn服务器,地址为svn://xxx.xxx.xxx.xxx #这里为服务器的IP地址
备注:
1、对于有些路径下的文件不想让某些用户看到
例如软件仓库中的tags目录不想被guest的账户读取,可以这样操作。
修改authz文件:
[/tags]
@admin = rw
* =
2、可能修改权限配置时会改错,这样就会导致登陆svn服务器时失败,可以在修改authz文件后,使用下面这个命令进行检查
svnauthz validate /home/svn_root/mycode/conf/authz
3、添加用户和修改权限配置时一定要注意,最好在=两边都有空格,否则也有可能无法登陆svn服务器
4、修改服务器配置的时候,配置项的前面不要有空格
auth-access = write #这样是正确的
password-db = passwd #这样是错误的,因为最前面有一个空格
5、关闭svn服务
ps -aux | grep svn
kill -9 svn的进程ID
6、检查svn服务的网络端口是否启动(默认3690)
netstat -ntlp
7、使用add命令新增很多文件到软件仓库的时候,可能会有文件遗失,这是由于svn本身的过滤机制导致,使用下面的命令:
svn add --no-ignore test_code
8、在ubuntu中使用命令方式进行提交的时候,编译器可能用不惯,可以用下面的命令修改默认编译器
sudo update-alternatives --config editor
选择你习惯的编辑器就好了
9、无法查看log记录,需要确认svnserver.conf 文件中anon-access项是否配置正确
anon-access = none
Install SVN Client
正常安装
sudo apt-get install subversion
svn --version
在Ubuntu 12.04上升级到1.8.x版本
需要在/etc/apt/source.list中添加
deb http://ppa.launchpad.net/dominik-stadler/subversion-1.8/ubuntu/ precise main
deb-src http://ppa.launchpad.net/dominik-stadler/subversion-1.8/ubuntu/ precise main
sudo apt-get update
此时可能会报错:
W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 2380DF3029E526FC
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2380DF3029E526FC
sudo apt-get update
sudo apt-get install subversion