SVN搭建

摘要:
默认的svn服务器端口是3690。Echo[$retval-eq0]&&touch$lockfilereturn$retval}完成2.与客户端连接。2.1使用Windows客户端打开TortoiseSVNRepositoryBrowser工具。输入URL:svn://192.168.11.229输入,提示输入用户名和密码2.2使用Linux#下的命令行svncosvn://192.168.11.2293FAQ3.1命令行连接,提示svn:Norepositoryfoundin'svn://192.168.11.229/project'错误?使用#svnser-d-r/svn/project/命令启动。不要使用/etc/init。d/svnsever脚本。

1 安装SVN

官网下载:http://subversion.apache.org/packages.html

SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html

# yum install subversion 

1.新建一个目录用于存储SVN所有文件

  1. # mkdir /svn  

2. 新建一个资源仓库

  1. # svnadmin create /svn/project   
  2. # ls /svn/project/   
  3. conf db format hooks locks README.txt  

目录用途说明:

  •  hooks目录:放置hook脚本文件的目录
  •  locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
  •  format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
  •  conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

3. 配置svn服务的配置文件svnserver.conf文件

  1. # vi /svn/project/conf/svnserve.conf   
  2. [general]   
  3. anon-access = none   
  4. auth-access = write   
  5. password-db = /svn/project/conf/passwd   
  6. authz-db = /svn/project/conf/authz   
  7. realm = My Test Repository #这是个提示信息  

保存

4. 添加两个访问用户及口令

  1. # vi /svn/project/conf/passwd   
  2. [users]   
  3. xiaoran.shen = 123456   
  4. test1 = 123456   
  5. test2 = 123456 

保存

注意:对用户配置文件的修改立即生效,不必重启svn服务。

5. 配置新用户的授权文件

  1. # vi /svn/project/conf/authz   
  2. [groups]   
  3. admin = xiaoran.shen,test1   
  4. user = test2   
  5. [/]   
  6. @admin = rw   
  7. @user = r   
  8. * =  

保存

格式说明:

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;

[/abc] 表示对资料库中abc项目设置权限;

创建一个admin组,组成员包括xiaoran.shen和test1

创建一个user组,成员只有test2;

admin组对目录有读写权限;

单个用户test2有读写权限;

*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

注意:对权限配置文件的修改立即生效,不必重启svn。

6. 启动svn服务

svnserve -d -r /svn/project/

注意:不要使用系统提供的 /etc/init.d/svnserve start 来启动,因为系统默认的启动脚本中没有使用 –r /svn/project参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in 'svn://192.168.11.229/project' ”这样的错误。

默认svn服务器端口是3690。

杀死svn服务:

  1. # ps -ef|grep svn   
  2. root 4642 1 0 16:08 ? 00:00:00 svnserve -d -r /svn/project/   
  3. root 4692 3676 0 16:13 pts/2 00:00:00 grep svn   
  4. # kill -9 4642  

若要使用/etc/init.d/svnserve 脚本,可以修改start()函数部分,如下:

  1. start() {   
  2. [ -x $exec ] || exit 5   
  3. [ -f $config ] || exit 6   
  4. echo -n $"Starting $prog: "   
  5. daemon --pidfile=${pidfile} $exec $args -r /svn/project   
  6. retval=$?   
  7. echo   
  8. [ $retval -eq 0 ] && touch $lockfile   
  9. return $retval   
  10. }   

完成 

2 使用客户端连接

2.1 使用windows的客户端

打开TortoiseSVN Repository Browser工具

在URL中输入:

svn://192.168.11.229回车,提示输入用户名和口令

SVN搭建第1张

2.2 使用Linux下的命令行

  1. # svn co svn://192.168.11.229  

3 FAQ

3.1 命令行方式连接,提示svn: No repository found in 'svn://192.168.11.229/project'错误?

解决:启动svn服务的时候没有使用-r /svn/project参数,没有指明资源库的具体路径。使用# svnserve -d -r /svn/project/ 命令来启动就可以了,不要使用/etc/init.d/svnserver脚本。

3.2 执行命令# svn co svn://192.168.11.229/project时提示“svn: Authorization failed”错误?

解决:一般这种授权失败的错误原因都来自conf/authz文件的配置

正确的配置如下:

  1. [groups]   
  2. admin = xiaoran.shen,test1   
  3. user = test2   
  4. [/]   
  5. @admin = rw   
  6. @user = rw   
  7. * =  

保存

原文链接:http://my.oschina.net/lionel45/blog/298305

IE上访问的话  需要安装 SVNProtocolHandler-1.2.0

格式为: svn://192.168.11.229/project

------------------------------------------------------------------------------

如果服务器是windows的 VisualSVN server SVN服务器

https://www.visualsvn.com/downloads/ 

http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html    教程

http://www.cnblogs.com/blogs2014/p/5039213.html

访问URL为:https://123.56.248.164/svn/test 

----------------------------------------------------

备份还原:

http://blog.csdn.net/madun/article/details/7718856

免责声明:文章转载自《SVN搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux编程头文件所在路径的问题Delphi xe7并行编程快速入门(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android OpenStreetMap(OSM) 使用 osmbonuspack 进行导航

关于OpenStreetMap的介绍,国内还是很少,csdn上面有一篇,写的不错,我也就不再做重复的事情了。 这里贴出链接地址:http://blog.csdn.net/mad1989/article/details/9733985 下面,开始介绍一下osmbonuspack导航。 注意,如果要做商业应用,请先仔细阅读许可文档,以免发生不必要的麻烦。 #0...

svn 删除、移动和改名

删除、移动和改名 Subversion allows renaming and moving of files and folders. So there are menu entries for delete and rename in the TortoiseSVN submenu. 图4.33.版本控制文件的菜单浏览 正在删除文件/文件夹...

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问

配置虚拟用户访问 首先至少要关闭userlist 改完配置文件是要重启服务来使它生效 其实在刚装好vsftp的时候的配置文件不用修改的情况下配置虚拟用户访问控制是最好的 local_root选项不影响 本地用户登录的目录和虚拟用户登录的目录是不产生影响的 为防止有影响,把chroot也注释了 配置虚拟用户登录的步骤: 1、添加虚拟用户口令文件 2、...

ubuntu查看文件的权限

查看linux文件的权限: 查看path路径下名为filename的文件或文件夹的权限: Java代码 ls -l path/filename ls -l path/filename 查看path路径下的所有文件的权限: Java代码 ls -ls path ls -ls path 查看linux文件夹的权限: Java代码...

【原创】使用SVN部署生产环境(已测)(欢迎指正)

详细内容请查看本人博客 www.thinkidea.net 欢迎高手批评指正!!! 这是我自己在纸上画的一个关于SVN+patch+rsync部署生产环境的图: 先看图: 我的思路是这样的: 1 SVN服务器是中心,它存储两个重要的东西:网站目录及文件 和 补丁包程序; 2 测速环境中的代码均来自SVN服务器,分为两部分:网站源程序和补丁包,均通过sv...

Linux新增用户,并设置Root(管理员)权限

在使用Linux过程中,Root账号拥有最大的操作权限。为保证Root账号安全,一般不直接使用Root账号,而是直接创建一个拥有Root权限的其它账号来使用。详细操作步骤如下 第一步,创建用户,如下图所示: 执行命令:usermod -a -G wheel ypsroot 将用户加入管理权限组 第二步,修改sudoers文件为可修改状态,如下图所示:...