在Ubuntu上搭建Subversion服务器

间隙填充
正睿科技  发布时间:2007-12-16 09:52:38  浏览数:1964

  Subversion 是一款非常好的开源版本控制系统,目前最新版本 1.4.4,新增版本库镜像工具 svnsync 和对 working copy 性能的改进,另外新版也开始支持 BerkeleyDB 4.4。在介绍前必须先搞清楚两个概念,一个是 repository (版本库,以下简称 repo), 一个是 working copy (工作拷贝,以下简称 wc),前者是项目所在的地方,后者是你做修改的地方。如果你对版本控制这个概念不太了解的话,Michael 简单解释了一下。

  比如我有一个项目,有几百个文件,包括项目的相关文档,图表,和一些视频音频文件,它们都被放在电脑的一个文件夹内。随着项目的发展,文件夹内的会增加新的文档图表等文件,而老的文件也会被修改,同时也许会有一些文件会被删除。在版本控制系统下,每一次对该项目文件夹下的改动,都会被记录,如果哪个文件被删错了,或是想把文档恢复到以前的版本,可以轻而易举的达到。更了不起的是,如果该项目被一个团队来执行,该团队的每一个成员都可以对项目内的文件进行管理和同步,这样就可以保持大家永远 on the same page。

  举例说明,只需 4 步在 Ubuntu 上搭建 Subversion 服务器。

  一、搭建 Subversion 服务器

  1、首先需要安装 subversion 这个软件:

  sudo apt-get install subversion

  2、在 /home/nicky 下建立一个 repo,名称为 testproject:

  svnadmin create /home/nicky/testproject

  3、然后把 /fun/theme 目录下的内容导入到这个 repo 中:

  svn import -m "" /fun/theme file:///home/nicky/testproject

  4、最后给这个 repo 建立一个 svn 自带的 svnserve:

  svnserve -d -r /home/nicky/testprojec

  另外:如果需要设定用户的验证和相应的权限,请看这里。

  二、使用 Subversion

  1、你可以使用下面的命令来获得一个 wc,如把它取名为 projecout。

  svn checkout svn://127.0.0.1/ projecout

  或者简写为:

  svn co svn://127.0.0.1/ projecout

  2、如果需要将修改从 wc 中发送到 repo。

  先到 wc 所在目录,然后使用下面的命令将修改发送到 repo:

  svn commit -m "note"

  三、常用命令:

  取出指定版本,如取出版本 2:

  svn checkout --revision 2 svn://....

  显示提交日志信息:

  svn log

  显示库中的最新信息:

  svn log --revision HEAD

  另外在 Linux 上还有一个基于 Qt 的图形化的辅助工具 eSvn。

  sudo apt-get install esvn