svn(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。svn服务器有2种运行方式:独立服务器和借助apache等web服务器。两种方式各有利弊。svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
本文主要介绍SVN独立服务器的的安装和简单配置:
安装(CentOS下yum即可方便的完成安装)
# yum install subversion 测试安装是否成功: # svnserve --version 回车显示版本说明安装成功
建立版本库
# mkdir /svndata 创建svn数据目录(目录可自行制定) # svnadmin create /svndata/kuming kuming就是版本库的名字,可以改变!
配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件。)
#每个版本库创建之后都会生成svnserve.conf主配文件 # vim /svndata/kuming/conf/svnserve.conf
[general] anon-access = none auth-access = write password-db = /svndata/conf/passwd authz-db = /svndata/conf/authz realm = kuming
# mkdir /svndata/conf # vim /svndata/conf/passwd //svn用户配置文件
[users] user1 = password1 user2 = password2 user3 = password3 user4 = password4
# vim /svndata/conf/authz //svn权限控制配置文件
[groups] #设置组 group1 = user1,user2 #多用户用逗号隔开 [/] #根目录权限设置(就是“kuming”这个文件夹) user3 = rw #用户1权限是:可读写 user4 = r #用户2权限是:可读,不可写 user = #什么都没写代表没有任何权限 @group1 = rw #设置组权限 [kuming:/123] #设置根目录下“123”文件夹的权限 #说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN #然后创建一个文件夹“123”。
启动服务器
# svnserve -d -r /svndata -d表示以daemon方式(后台运行)运行 -r /svndata指定根目录是/svndata 关闭SVN 服务器 # killall svnserve # ps aux | grep svnserve 查看服务,端口:3690
客户端使用的软件是TortoiseSVN,浏览方法:打开版本库浏览器输入:svn://ip-addr/kuming/文件夹名
下面是随便折腾一个小脚本用来管理服务器的启动、重启、停止等操作
# vim svn # chmod +x svn
#!/bin/bash
case "$1" in
start)
svnserve -d -r /svndata
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
if [ $svnport -eq 3690 ]
then
echo "SVN Server Already Runnning. Port:3690"
else
echo "SVN Server Does Not Start"
fi
;;
reload)
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
if [ $svnport -eq 3690 ]
then
killall svnserve && svnserve -d -r /svndata
echo "Reload OK"
else
echo "SVN Server Is Not Running"
fi
;;
stop)
killall svnserve
echo "SVN Server Has Been Stopped"
;;
status)
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
if [ $svnport -eq 3690 ]
then
echo "SVN Server (pid:$pid) 正在运行..."
else
echo "SVN Server 停止运行..."
fi
;;
*)
echo "$0: Usage: $0 {start|status|stop|reload}"
exit 1
;;
esac
该脚本使用方法我想应该不用多说了,全文完。
原文:http://www.linuxde.net/2011/06/138.html/comment-page-1#comment-1253
相关推荐
Eclipse是一款广受欢迎的Java开发集成环境,而SVN(Subversion)则...总的来说,Eclipse中的SVN配置是团队开发中不可或缺的一部分,通过合理配置和使用,可以大大提高代码管理的效率,确保项目版本的一致性和可追溯性。
本篇文章将深入探讨“svn配置”这一主题,帮助读者理解如何在项目开发中有效地利用SVN来管理和协同代码。 SVN是一个开源的版本控制系统,它允许开发者追踪和控制文件及目录的变化,同时提供了多人协作的环境。对于...
Myeclipse6.5 svn配置,免费资源,仅供参考!
SVN配置及使用方案,包括详细的配置和使用方案
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和...总的来说,SVN作为团队开发的配置管理工具,通过其强大的版本控制功能和便捷的协作方式,能够有效地提升开发效率,保障项目的稳定性和一致性。
### SVN配置管理详解 #### 一、概述 版本控制系统(Version Control System,VCS)是软件开发中不可或缺的一部分,它帮助团队有效地管理源代码的变化历史。Subversion(SVN)作为一款集中式的版本控制系统,被广泛...
配置SVN服务器涉及到安装SVN服务端软件,创建版本库,设置权限管理,以及配置SSH(Secure Shell)以实现安全的远程访问。以下是配置SVN服务器的具体步骤: 1. **创建SVN版本库用户和组**: - 创建一个独立的用户,...
在本场景中,"svn配置文件"指的是用于配置SVN服务器的文件集合,这些文件通常包括服务器的设置、用户权限、仓库路径等关键信息。在搭建SVN服务器时,正确配置这些文件是确保系统安全、稳定运行的重要步骤。 1. **...
在这个"svn配置"主题中,我们将深入探讨如何配置SVN服务器、客户端以及进行日常的版本控制操作。 1. **安装SVN服务器**: - 对于Windows用户,可以使用VisualSVN Server,提供图形化的安装和管理界面。 - 对于...
【MyEclipse SVN配置】是关于在MyEclipse集成开发环境中设置版本控制系统Subversion(SVN)的过程。Subversion是一个广泛使用的开源版本控制系统,用于跟踪文件和目录的更改,便于团队协作和项目管理。在MyEclipse中...
【MyEclipse SVN配置文件详解】 在软件开发过程中,版本控制系统是不可或缺的工具,Subversion(SVN)作为其中的一员,被广泛应用于协同开发和代码管理。MyEclipse,一个强大的Java集成开发环境,集成了SVN插件,...
运行Subversion服务器需要首先要建立一个版本库(Repository),版本库可以看作是服务器上集中存放和管理数据的地方。在安装客户端时默认已经创建了一个版本库,可以直接用这个库,或是根据需要重新建立一个库。
本指南将深入探讨如何在Linux环境中配置SVN服务器,以及如何进行权限管理,确保团队成员能按照预设的角色和职责进行协作。 首先,我们需要安装SVN。在大多数Linux发行版中,可以通过包管理器完成此操作。例如,在...
在使用SVN的过程中,用户通常会在本地计算机上创建SVN配置文件,这些文件存储了与SVN仓库的连接信息和其他设置。然而,有时可能需要清理或删除这些配置,特别是在解决权限问题、更换工作环境或者卸载SVN客户端时。 ...
【SVN配置文件】是指在Subversion(简称SVN)版本控制系统中,对服务器和客户端进行设置的文件,用于管理代码仓库、用户权限以及通信协议等。本文将详细介绍如何使用VisualSVN Server来配置和使用SVN服务。 **1. ...
【SVN配置world文档】 在IT行业中,版本控制系统是项目管理的重要工具,Subversion(简称SVN)就是其中的一种。本篇文章将详细讲解如何在Visual Studio(VS)环境中配置和使用SVN,以及对比SVN与Visual SourceSafe...
### SVN配置管理使用教程知识点详解 #### 一、SVN简介 **SVN**(Subversion)是一种开源的版本控制系统,它的出现旨在解决软件开发过程中的版本控制难题。SVN继承了早期版本控制系统**CVS**(Concurrent Versions ...