今天试着在ubuntu下搭建svn服务器,查了不少资料,也费了不少时间。下面简单记录一些自己的心得。
1.首先如果你的ubuntu下已经开启了一个或多个svn服务器,如果想要再开启一个,就会提示你“端口冲突”,因为它默认使用的端口号为3690,所以应该终止所有的svn服务,使该端口处于空闲状态,只需“sudo killall svnserve”即可。
2.既然要搭建svn的服务器,自然要先安装它:
sudo apt-get install subversion
3.在启动svn服务之前,应该首先创建一个文件仓库,用来存放我们要做的项目文件
sudo svnadmin create <文件路径>(例如sudo svnadmin create /home/svn/pro)
4.创建好该文件仓库之后,可以修改其权限
sudo gedit <文件路径>/svnserve.conf
(1)将#password前的#去掉,注意前面不能留下任何的空格
(2)anon-access = read
auth-access
= write
password-db
= passwd这几行前的#也可以去掉
5.添加用户名和密码
sudo gedit <文件路径>/passwd
用户名=密码,按照该格式添加
6.启动svn服务
svnserve -d -r <文件路径>
-d -r的意义不做赘述,可通过help命令查看
7.之后本机或其他计算机就可以访问该svn服务器了
提取出服务器上的文件
svn checkout svn://<服务器ip>/<文件仓库的名字,此处为”pro“>
当然还可以在其后加"-r <版本号>",指定要提取的版本
8.提取出的文件可以对其做任意的修改
要注意的一点是,在 wc 下做文件操作时,比如删除或移动文件,不能直接用 rm, mv 来进行,这样 svn 不能追踪到文件的变化,你必须使用 svn del 或是 svn move 来完成删除或移动的操作。下面举几个命令的例子:
svn add filename #新增一个文件
svn move filename foo/bar/baz #移动 filename 到 foo/bar/baz 下
svn rename filename1 filename2 #给文件改名
9.修改完后,就可以提交修改了
svn commit -m "<关于此次修改的相关注释信息>" --username <用户名> --password <密码>
10.使用"svn update"命令可更新当前的wc版本‘
建议 Windows 下的用户使上面提到的 TortoiseSVN 软件,完全图形化界面,使用非常简单。本人也做过尝试,确实可以访问在ubuntu下的svn服务器,而且操作十分简便。
具体也可以参见 http://www.svn8.com/svnpz/20090625/6843.html
Refer to http://blog.sina.com.cn/s/blog_60e5f5320100e35i.html