当前位置: 代码迷 >> CVS/SVN >> 学习版本控制 SVN解决办法
  详细解决方案

学习版本控制 SVN解决办法

热度:7325   发布时间:2013-02-26 00:00:00.0
学习版本控制 SVN
版本控制系统

版本控制是管理改动信息的技术。它对于程序员而言一直是重要的工具,他们经常花时间对程序进行小改动之后又在第二天改回来。但版本控制软件的用途却远远超出了软件开发的界线。无论何处您可以发现人们使用计算机去管理那些经常变动的信息,那里都有使用版本控制的空间。

Subversion

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 /path/to/repos/project


访问方式

Subversion 库可以通过许多不同的方式如通过在本地磁盘或不同的网络协议来访问 (checked out)。然而,库的位置经常是一个 URL。下表描述了不同的URL模式如何映射相应的访问方式。

表 4.1. 访问方式

模式


访问方式

file://


直接访问库 (在本地磁盘)

http://


通过 WebDAV 协议访问带有 Subversion 的 Apache2 web 服务器。

https://


与 http:// 相同,但有 SSL 加密

svn://


通过自身协议访问 svnserve 服务

svn+ssh://


与 svn:// 一样,但使用 SSH 遂道

在本部分,我们将看到如何为所有这些访问方式来配置 Subversion。这里,我们只介绍基本用法。更多详细、高级用法请参阅svn 书
直接访问库 (file://)

这是所有访问方式中最简单的。它不要求运行任何 Subversion 服务器进程。该访问方式用于在同一台机器上访问 Subversion。在终端提示符后输入的命令如下所示:

svn co file:///path/to/repos/project



svn co file://localhost/path/to/repos/project

[注意] 

如果您没有指定主机名,则需要三个斜杠 (///) -- 其中两个是协议的 (这里是 file),另一个是路径前的。如果您指定了主机名,那么您必须使用双个斜杠 (//)。

库权限依赖于文件系统的权限。如果用户有读/写权限,他可以从库中检出或者提交到库。
通过 WebDAV 协议 (http://) 访问

要通过 WebDAV 协议访问 Subversion,您必须配置您的 Apache2 web 服务器。您必须在您的 /etc/apache2/apache2.conf 文件中添加下面一小段:

 <Location /svn>
  DAV svn
  SVNPath /path/to/repos
  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
              
            

[警告] 

该密码是以纯文本传输的。如果您担心密码被截取,建议您使用 SSL 加密。相关细节,请参考下一章节。
通过带有 SSL 加密的 WebDAV 协议来访问 (https://)

通过带 SSL 加密的 WebDAV 协议 (https://) 访问也使用 http:// 类似,只是您必须在您的 Apache2 web 服务器中安装和配置数字证书。

您可以安装由证书签署机构如 Verisign 颁发的数字证书。或者,您也可以安装自己签署的证书。
  相关解决方案