SVN入门介绍如何创建版本库

开发 项目管理
本文和大家一同学习一下SVN入门介绍,主要内容是SVN的服务器端配置和建立版本库问题,在这里和大家分享一下,希望大家共同进步。

上节我们讲到SVN入门中SVN服务器端配置,这节我们继续介绍,另外介绍一下SVN建立版本库问题,看完本文SVN入门你肯定有不少收获,希望本文能教会你更多东西。

2.4Windows下的svnserve+ssh配置
需要使用Cygwin来配置ssh,此处略,详情可参考http://tortoisesvn.net/node/156
2.5&2.6基于Apache服务器的SVN配置
概述
Apache的http服务器是一个subversion可以利用的“重型”网络服务器,通过一个自定义模块,httpd可以让SVN版本库通过WebDAV/DeltaV协议在客户端前可见。可以将浏览器指向版本库的URL,无需安装SVN客户端就可以浏览内容。
基于Apache的SVN需要两个包的四个部分:Apachehttpd2.0及其中包含的mod_davDAV模块,Subversion及与之一起发布的mod_dav_svn模块。有了上述组件之后,配置步骤一般如下
 1)配置好http2.0,并且使用mod_dav启动
 2)为mod_dav安装mod_dav_svn插件
 3)配置httpd.conf来发布版本库。SVN入门介绍Linux下基于APache的SVN服务器配置
2.5Linux下基于APache的SVN服务器配置
(参考http://www.123shang.cn/blog/?p=53)
(参考“ubuntu下svn+apache版本管理服务器配置”)
2.5.1安装aphache
  $sudoapt-getinstallapache2#安装apache
  $sudoapt-getinstalllibapache2-svn#安装相关组件
  $sudoapt-getinstallsubversion#安装svn
  安装完毕后启动apache
  $/usr/local/apache/bin/apachectl–kstart
  ——用浏览器查看http://localhost/,得到itworks,说明apache已经配置成功了。
2.5.2创建版本库(见第三节)
2.5.3添加用户并设置密码文件
版本库的密码文件,一般命名为PasswdFile,由用户通过命令创建,里面保存授权用户的用户名和MD5加密后的密码。创建密码文件,密码文件保存在版本库文件目录下,在终端通过下面的命令创建密码文件:
  $htpasswd-c/etc/svn/passwordfileusername
   passwordfile密码文件名称,可以由用户自行命名
   username你希望添加的用户名,比如zhangsan,lisi,wangwu
   -c用来创建密码文件
  按提示输入密码,添加成功后会提示adduserusername,然后可以再继续添加第二个用户。
  $htpasswd/etc/svn/passwordfileseconduser
2.5.4httpd.conf文件修改
  conf文件正常安装的话在etc/apache2/目录下,双击打开进行编辑,添加以下内容:
  LoadModuledav_svn_modulemodules/mod_dav_svn.so加载mod_dav_svn模块
  LoadModuleauthz_svn_module/usr/lib/apache2/modules/mod_authz_svn.so加载mod_anthz.svn模块
  

  1. <Location/vcard> 
  2.    DAVsvn  
  3.    SVNPath/home/bb/svn/vcard/指明版本库的路径  
  4.    AuthTypeBasic认证类型为基本认证  
  5.    AuthName"SVNrepos"认证名称,将在IE界面弹出一个对话框,其标题就是SVNrepos  
  6.    AuthUserFile/home/bb/svn/vcard/VcardPasswdFile加载密码文件,访问版本库用户的文件,用apache的htpasswd命令生成  
  7.    #AuthzSVNAcessFile//home/bb/svn//vcard/accesspolicy访问版本库权限的文件  
  8.    #satisfyAny  
  9.    Requirevalid-user要求验证用户,即不能匿名访问;如果没有这个语句,则只能第一个用户可以访问新建库  
  10.   </Location> 

  保存文件退出,重新启动apache
  #/usr/local/apache/bin/apachectl–krestart
  测试:
  $svncheckouthttp://localhost/svn。下面我们看一下SVN入门中Windows下基于APache的SVN服务器配置。
2.6Windows下基于APache的SVN服务器配置
2.6.1下载安装Apache
  APache:http://httpd.apache.org/download.cgi
  ——如果你将Apache安装成一个服务,它将以本地system帐户来运行。为Apache创建一个单独的用户来运行它将会更安全一些。
  ——请确保运行Apache的用户有版本库的完全访问权限(右键版本库目录->属性->安全)。要不然,用户将无法提交他们的更改。
  ——就算Apache以本机system来运行,你也要设置它能完全读写版本库目录。
  ——如果没有为Apache配置这个许可,用户将会得到"禁止访问"的错误信息,在Apache的错误日志中表现为错误500。
2.6.2配置Subversion
使用Windwos资源管理器,来到Subversion的安装目录(通常是c:\programfiles\Subversion),找到文件httpd/mod_dav_svn.so和mod_authz_svn.so,复制这些文件到Apache的模块目录(通常是c:\programfile\apachegroup\apache2\modules)。
2.6.3配置httpd.conf文件
  路径通常为c:\programfiles\apachegroup\apache2\conf\httd.conf),修改以下内容:
  去掉以下两行的注释号“#”:
  #LoadModuledav_fs_modulemodules/mod_dav_fs.so
  #LoadModuledav_modulemodules/mod_dav.so
  在LoadModule节的最后添加以下两行:
  LoadModuledav_svn_modulemodules/mod_dav_svn.so
  LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
  文件末尾添加以下行,让Apache知道哪个URL将被Subversion使用:
 

  1.  <Location/svn> 
  2.    DAVsvn  
  3.    SVNParentPathD:\SVN  
  4.    AuthTypeBasic  
  5.    AuthName"Subversionrepositories"  
  6.    AuthUserFileD:\passwd  
  7.    #AuthzSVNAccessFileD:\svnaccessfile  
  8.    Requirevalid-user  
  9.   </Location> 

  ——这样配置表示:你所有的版本库将位于D:\SVN目录下,要访问你的版本库可以使用这样的URL:http://MyServer/svn/,访问权限将由passwd文件中的用户名/密码来限制。
  要创建passwd文件,可以打开命令行,将当前目录切换到apache2目录,输入命令:
  c:\programfiles\apachegroup\apache2>bin\htpasswd-cpasswd<username>
  重启Apache服务。
  使用浏览器测试。下面我们介绍一下SVN入门中关于建立版本库问题。
三、建立版本库
在前面的服务器配置上我们通常假设已经建立了版本库,这是为了避免在每种配置中重复赘述这种操作,因此把它独立出来讲。
版本库创建完毕后会在目录下生成若干个文件和文件夹:
   dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部数据;
   db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;
   locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;
   format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
3.1Linux下创建版本库
  版本库有两种数据存储格式:BerkeleyDB和FSFS,推荐选用FSFS格式,具体可以查阅参考资料了解二者的区别。
  创建版本库时,在终端运行如下命令:
  #运行创建版本库的命令,指定数据存储为FSFS,如果要指定为BerkeleyDB,则将fsfs替换为bdb
  $svnadmincreate--fs-typefsfs/etc/svn/repos创建版本库,运行这个命令后,我们就可以看到一个版本库应有的文件
  更改版本库的访问权限
  $sudomkdir/home/svn
  $cd/home/svn
  $sudomkdirmyproject
  前面三条命令用于创建版本库目录,如果已经建立,就可以省略掉;后面三条用于修改权限
  $sudochown-Rwww-datamyproject
  $sudochgrp-Rsubversionmyproject
  $sudochmod-Rg+rwsmyproject这条命令允许用户对版本库进行读写操作,即可以更新,可以提交
3.2Windows下创建版本库
可以使用TortoiseSVN图形化的完成这一步,在目录E:subversionrepository下"右键->TortoiseSVN->CreateRepositoryhere...“,然后可以选择版本库模式,使用默认即可,然后就创建了一系列目录和文件。
  [Tips]如果下载的是setup.exe版本,安装程序安装后会自动设置系统变量,如果下载的是zip版就需要手动设置系统变量.
  也可以使用命令行来创建:
  C:\>svnadmincreateF:\svn\。本节介绍SVN入门完毕,请关注本节其他相关报道。

【编辑推荐】

  1. SVN使用手册之入门篇
  2. SVN管理与应用相关的资料参考手册
  3. ApacheSVN服务器安装指导手册
  4. Centos下SVN的安装配置实用手册
  5. SVN服务器安装指导手册
责任编辑:佚名
相关推荐

2010-05-21 18:33:02

2010-05-26 14:53:28

SVN版本库自动备份

2010-05-27 18:49:38

SVN入门

2010-05-26 15:07:36

SVN版本库自动备份

2010-05-24 09:11:06

SVN版本库

2010-06-02 14:16:18

SVN版本控制

2010-05-31 17:56:27

2010-06-01 09:18:46

SVN创建项目

2010-05-21 16:09:39

GoogleCode和

2010-05-26 18:20:59

SVN库

2010-06-01 18:26:11

删除SVN

2010-06-02 15:25:26

SVN版本控制

2010-06-01 18:15:33

删除SVN版本信息

2010-06-01 18:49:19

删除SVN备份

2010-05-24 14:16:34

子命令SVN diff

2017-11-07 12:53:28

Android支持库

2010-06-02 19:40:55

搭建SVN版本库服务器

2010-06-01 09:02:03

SVN创建项目

2010-06-01 19:06:27

删除SVN

2010-05-21 12:27:22

SVN使用教程
点赞
收藏

51CTO技术栈公众号