您的位置:首页 > 运维架构 > Linux

ubuntu下SVN服务器安装配置

2013-09-26 09:53 495 查看
ubuntu下SVN服务器安装配置
一、SVN安装

1.安装包

$ sudo apt-get install subversion

2.添加svn管理用户及subversion组

$ sudo adduser svnuser

$ sudo addgroup subversion

$ sudo addgroup svnuser subversion       

3.创建项目目录

$ sudo mkdir /home/svn

$ cd /home/svn

$ sudo mkdir myproject

$ sudo chown -R root:subversion myproject

$ sudo chmod -R g+rws myproject
 
 
4.创建SVN文件仓库

$ sudo svnadmin create /home/svn/myproject
 
 
6.访问权限设置
修改 /home/svn/myproject目录下:

svnserve.conf 、passwd
、authz三个文件,行最前端不允许有空格

//--
编辑svnserve.conf文件,把如下两行取消注释

password-db = password

authz-db = authz

//补充说明

# [general]

anon-access = read

auth-access = write

password-db = passwd
其中 anon-access
和 auth-access
分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿

名用户的访问,只需把 read
改成 none
就能达到目的。

//--
编辑/home/svnuser/etc/passwd  如下:

[users]

mirze = 123456

test1 = 123456

test2 = 123456

//--
编辑/home/svn/myproject/authz如下

[groups]

admin = admin

xixi = xixi

[/]

@admin=rw

*=r

admin属于admin组,有读和写的权限,xixi属于xixi组只有读的权限
 
7.启动SVN服务
svnserve -d -r /home/svn/myproject --listen-host 192.168.0.163
svnserve -d -r /home/svn/ --listen-host 192.168. 0.163
描述说明:

-d 表示svnserver以“守护”进程模式运行

-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
如: svn://192.168.12.118/myproject
 
二 项目创建操作
xixi@xi:/home$sudo mkdir firstproject
xixi@xi:/home$cd firstproject/
xixi@xi:/home/firstproject$sudo mkdir trunk tags branches
 
 
 
 
 
sudo svnimport /home/firstproject file:///home/svn/myproject/firstproject -m "thefirst import in svn"
正在增加       /home/firstproject/tags
正在增加       /home/firstproject/trunk
正在增加       /home/firstproject/trunk/sysv.cpp
正在增加       /home/firstproject/branches
 
提交后的版本为 4。
 
 
三 项目查看操作
xixi@xi:/home/svn$svn list file:///home/svn/myproject/firstproject/trunk --verbose
      4 root                   9月 24 09:21 ./
      4 root             5838  9月 24 09:21 sysv.cpp
 
 
四 项目签出操作
xixi@xi:/home$sudo mkdir svnworkspace
 
xixi@xi:/home$sudo svn checkout file:///home/svn/myproject/firstproject /home/svnworkspace/
A    /home/svnworkspace/branches
A    /home/svnworkspace/tags
A    /home/svnworkspace/trunk
A    /home/svnworkspace/trunk/sysv.cpp
取出版本 4。
 
五 项目修改操作
xixi@xi:/home/svnworkspace/trunk$ls -l
总用量 8
-rwxr-xr-x1 root root 5838  9月 24 09:28sysv.cpp
 
 
xixi@xi:/home/svnworkspace/trunk$sudo chmod 777 sysv.cpp
xixi@xi:/home/svnworkspace/trunk$vi sysv.cpp
 
签出目录与版本库目录状态对比
xixi@xi:/home/svnworkspace/trunk$svn status sysv.cpp -v
M                4        4 root         sysv.cpp
M表示文件被改变。
 
比较签出目录与版本库目录状态的区别
xixi@xi:/home/svnworkspace/trunk$svn diff sysv.cpp
Index:sysv.cpp
===================================================================
---sysv.cpp      (版本 4)
+++sysv.cpp    (工作副本)
@@ -7,7+7,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/shm.h>
-//#defineMTI 1
+////#defineMTI 1
 #define BUFFER_SIZE   512
 
六 项目提交操作
xixi@xi:/home/svnworkspace$sudo svn commit -m "the first submit"
正在发送       trunk/sysv.cpp
传输文件数据 .
提交后的版本为 5。
 
日志查看:
xixi@xi:/home/svnworkspace$svn log file:///home/svn/myproject/firstproject --verbose
------------------------------------------------------------------------
r5 |root | 2013-09-24 09:34:35 +0800 (二, 2013-09-24) | 1 行
改变的路径:
   M /firstproject/trunk/sysv.cpp
 
thefirst submit
 
七 项目文件管理操作
1.     文件添加
xixi@xi:/home/svnworkspace/trunk$ sudo svn add xixi.c
A         xixi.c
xixi@xi:/home/svnworkspace/trunk$ sudo svn commit -m "new filexixi.c added"
正在增加       trunk/xixi.c
传输文件数据 .
提交后的版本为 6。
2.     文件复制
xixi@xi:/home/svnworkspace/trunk$sudo svn copy xixi.c xixixi.c
A         xixixi.c
xixi@xi:/home/svnworkspace/trunk$sudo svn commit -m "copy file xixi.c to xixixi.c"
正在增加       trunk/xixixi.c
 
提交后的版本为 7。
 
3.     文件删除
xixi@xi:/home/svnworkspace/trunk$sudo svn delete xixixi.c
4.     文件移动
    xixi@xi:/home/svnworkspace/trunk$ sudo svn mvxixi.c xixixi.c
 
 
 
 
http://songxj.blog.51cto.com/620981/396113
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux svn