Subversion简介 ¶
- Subversion版本控制是管理改动信息的技术。它对于程序员而言一直是重要的工具,他们经常花时间对程序进行小改动之后又在第二天改回来。
但版本控制软件的用途却远远超出了软件开发的界线。无论何处您可以发现人们使用计算机去管理那些经常变动的信息,那里都有使用版本控制的空间。
安装 ¶
要通过 HTTP 协议来访问 Subversion 库,您必须安装和配置一个 web 服务器。Apache2 被证明可以和 Subversion 一起工作。请参考 Apache2 章节的 HTTP 小节以安装和配置 Apache2。 要使用 HTTPS 协议访问 Subversion 库,您必须在您的 Apache2 web 服务器上安装和配置数字证书。请参考 Apache2 章节的 HTTPS 小节以安装和配置数据证书。 要安装 Subversion,可以在终端提示符后运行以下命令:
sudo apt-get install subversion libapache2-svn
服务器配置 ¶
这一步假定您已经在您的系统上安装了上面提及的包。本部分内容说明如何创建一个 Subversion 库和访问项目。创建 Subversion 库 Subversion 库可以在终端提示符后使用以下命令创建:
svnadmin create ${your_path}/${project}
访问方式 ¶
Subversion 库可以通过许多不同的方式如通过在本地磁盘或不同的网络协议来访问 (checked out)。然而,库的位置经常是一个 URL。 下表描述了本开发服务器不同的URL模式如何映射相应的访问方式。如表所示:
模式 | 访问方式 |
file:// | 直接访问库 (在本地磁盘) |
http:// | 通过 WebDAV 协议访问带有 Subversion 的 Apache2 web 服务器。 |
svn:// | 通过自身协议访问 svnserve 服务 |
在本部分,我们将看到如何为所有这些访问方式来配置 Subversion。这里,我们只介绍基本用法。更多详细、高级用法请参阅svn 书
直接访问库 ( file:// ) ¶
这是所有访问方式中最简单的。它不要求运行任何 Subversion 服务器进程。该访问方式用于在同一台机器上访问 Subversion。在终端提示符后输入的命令如下所示:
svn co file:///${your_path}/${project}
或
svn co file://localhost/${your_path}/${project}
如果您没有指定主机名,则需要三个斜杠 (/) -- 其中两个是协议的 (这里是 file),另一个是路径前的。如果您指定了主机名,那么您必须使用双个斜杠 ( )。 库权限依赖于文件系统的权限。如果用户有读/写权限,他可以从库中检出或者提交到库。
通过 WebDAV 协议 ( http:// ) 访问 ¶
要通过 WebDAV 协议访问 Subversion,您必须配置您的 Apache2 web 服务器。您必须在您的 /etc/apache2/mods-available/dav_svn.conf 文件中添加下面一小段:
<Location /svn> DAV svn SVNPath ${your_path}/${project} AuthType Basic AuthName "Your repository name" AuthUserFile /etc/subversion/passwd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
接下来,您必须创建 /etc/subversion/passwd 文件。该文件包含用户认证细节。要添加一个条目,如添加一个用户,您可以在终端提示符后运行下列命令:
htpasswd2 /etc/subversion/passwd user_name
该命令将提示您输入密码。一旦您输入密码,该用户将被添加。现在您可以运行下列命令来访问库:
svn co http://servername/svn