Chinaunix首页 | 论坛 | 博客
  • 博客访问: 214851
  • 博文数量: 58
  • 博客积分: 2807
  • 博客等级: 少校
  • 技术积分: 610
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-09 14:18
文章分类

全部博文(58)

文章存档

2012年(1)

2011年(17)

2010年(40)

我的朋友

分类:

2010-12-08 00:11:35

安装Subversion服务器

Subversion是新一代的开源版本控制系统,用以取代CVS。有关Subversion最详尽的资料就是官方的了。它是由开源社区编写的自由图书,已通过O'Reilly Media出版。下面简单介绍一下Subversion在Debian下的安装和配置过程。

安装:

$sudo apt-get install subversion subversion-tools

svnserve,一个自定义的服务器

svnserve是一个轻型的服务器,可以同客户端通过在TCP/IP基础上的自定义有状态协议通讯,客户端通过使用开头为svn://或者svn+ssh://svnserve的URL来访问一个svnserve服务器。这一小节将会解释运行svnserve的不同方式,客户端怎样实现服务器的认证,怎样配置版本库恰当的访问控制。

调用服务器

有许多不同方法运行svnserve

  • 作为一个独立守护进程启动svnserve,监听请求。

  • 当特定端口收到一个请求,就会使UNIX的inetd守护进程临时调用svnserve处理。

  • 使用SSH在加密通道发起临时svnserve服务。

  • 以Windows service服务方式运行svnserve

svnserve作为守护进程

使用svnserve最简单的方式是作为独立“守护”进程运行,使用-d选项:

$ svnserve -d
$               # svnserve is now running, listening on port 3690

当以守护模式运行svnserve时,你可以使用--listen-port=--listen-host=选项来自定义“绑定”的端口和主机名。

一旦svnserve已经运行,它会将你系统中所有版本库发布到网络,一个客户端需要指定版本库在URL中的绝对路径,举个例子,如果一个版本库是位于/usr/local/repositories/project1,则一个客户端可以使用svn://host.example.com/usr/local/repositories/project1来进行访问,为了提高安全性,你可以使用svnserve-r选项,这样会限制只输出指定路径下的版本库,例如:

$ svnserve -d -r /usr/local/repositories
…

使用-r可以有效地改变文件系统的根位置,客户端可以使用去掉前半部分的路径,留下的要短一些的(更加有提示性)URL:

$ svn checkout svn://host.example.com/project1
…

Subversion的所有版本化数据都储存在中心版本库中。因此首先,我们需要创建一个版本库:

$ svnadmin create /path/to/repos
$ ls /path/to/repos
conf/  dav/  db/  format  hooks/  locks/  README.txt

这个命令创建了一个新目录/path/to/repos,并在其中创建了一个Subversion版本库。这个目录里主要保存了一些数据库文件(还有其它一些文件),而不像CVS那样保存着版本化的文件。需要更多版本库创建和维护方面的内容,参见。



阅读(1719) | 评论(1) | 转发(0) |
0

上一篇:nano

下一篇:Ubuntu安装svn

给主人留下些什么吧!~~

苏永刚2012-02-22 14:26:13