`
dato0123
  • 浏览: 914840 次
文章分类
社区版块
存档分类
最新评论

Subversion的安装和配置

 
阅读更多

环境

宿主机:Windows7 VMware7.1

虚拟机:Fedora12

在Fedora中安装Subversion,作为服务器端;

Windows7中安装TortoiseSVN,作为客户端。

Subversion是一个自由/开源的版本控制系统。支持多种操作系统,可以通过网络访问,也允许客户端与版本库运行在同一台机器上。

Subversion的组件包括:

svn 命令行客户端程序。

svnversion此工具用来显示工作拷贝的状态(用术语来说,就是当前项目的修订版

本)。

svnlook直接查看Subversion版本库的工具。

svnadmin建立、调整和修复Subversion版本库的工具。

svndumpfilter 过滤Subversion版本库转储数据流的工具。

mod_dav_svn ApacheHTTP服务器的一个插件,使版本库可以通过网络访问。

svnserve一个单独运行的服务器程序,可以作为守护进程或由SSH调用。这是另一种使版本库可以通过网络访问的方式。

svnsync一个通过网络增量镜像版本库的程序。

安装Subversion

在Fedora上可以用yum包管理器安装:

#yum install subversion

在Subversion的网站(http://subversion.tigris.org)上还有其他操作系统的二进制包,也可以下载源码进行编译。

创建版本库

建立/root/svn目录,作为版本库目录,执行如下命令建立版本库:

# svnadmin create /root/svn
# ls
conf/ db/ format hooks/ locks/ README.txt

导入数据

假设项目源码在/root/terminal目录下,在该文件夹中建立三个子目录:

branchestagstrunk

保证branches和tags为空,将源代码全部放在trunk目录下,这三个目录不是必须的,但是subversion的习惯用法。运行svnimport命令将其导入版本库中:

现在版本库中已经保存了目录中的数据。但是,直接查看版本库是看不到文件和目录的;它们存放在数据库之中。版本库的虚拟文件系统中则包含了一个名为terminal的顶级目录,其中依此保存了所有的数据。/root/terminal目录及里面的数据已经与subversion无关了,完全可以将其删除。

检出数据

建立一个空的/root/terminal目录,运行如下命令,将数据检出:

svn checkout file:///root/svn/terminal/trunk /root/terminal

Subversion的版本库可以和客户端运行在同一台机器里,用file:///访问。典型的应用是采用一个单独的服务器,这里使用subversion自带的svnserve。

配置svnserve

安装subversion后,执行setup,在systemserver(系统服务)里可以看到svnserve,用空格选中它,系统启动时,svnserve就会自动运行。

用这种方式启动svnserve时,系统执行的是/etc/rc.d/init.d目录下的svnserve脚步,该脚本里定义了args变量,即执行时选择的参数:

args=“--daemon --pid-file=${pidfile} $OPTIONS"

可以看到,svnserve是以守护进程的方式(--daemon)的方式执行的,可以在这里修改参数,加入--root参数,指定svn的虚拟根目录,这样会限制只输出指定目录下的版本库,将/root/svn设为版本库目录:

args=“--daemon --root=/root/svn --pid-file=${pidfile} $OPTIONS

修改后需要重启服务。

配置访问权限

在版本库目录下的conf子目录下有三个文件:

authzpasswdsvnserve.conf

svnserve.conf文件的[general]部分包括一些变量,他们默认都用#设为注释了,将如下几个变量前面的#和空格去掉:

anon-access=read#匿名用户的权限为可读,如果想禁止匿名用户,设为none

auth-access=write#认证用户的权限为可读可写

password-db=passwd#版本库的用户名和密码存放在passwd文件

其他不需要的变量,不要修改。

passwd文件定义了用户名和密码,格式为:

[username]=[password]

文件的内容如下:

[users]

#harry=harryssecret

#sally=sallyssecret

检出数据

宿主机Windows7为客户端,安装有TortoiseSVN,使用如下URL检出数据:

svn://192.168.65.166/terminal/trunk

参考:

使用Subversion进行版本控制

<!--EndFragment-->
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics