查看完整版本: [-- 【原创】Subversion版本管理器简单配置说明 --]

QTCN开发网 -> 其它技术开发讨论区 -> 【原创】Subversion版本管理器简单配置说明 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

XChinux 2005-07-30 00:05

【原创】Subversion版本管理器简单配置说明

Subversion版本管理器简单配置说明,没地方放了,应该属于服务器搭建之类的分类的,可是论坛里现在还没有这样的版块,所以就先放在这里了。

一、Subversion的下载与安装
Subversion的官方网站:http://subversion.tigris.org/
可以在官方网站上下载Subversion的最新版本。本说明使用的是1.1.4的Win32版。
下载下来Subversion安装文件后,直接安装就可以了。这里假设系统上已经安装好了Apache了,这样,Subversion安装的时候选择Apache方式,它就会自动的配置相关的模块到Apache里。

二、Subversion的建立与使用仓库使用。
$svnadmin create /path/to/repos
在这里,我们假设设置D盘svn目录下的svn1和svn2两个目录为仓库。
svnadmin create d:/svn/svn1
svnadmin create d:/svn/svn2
这样,我们使用的时候,就可以向里面提交文件。
仓库的使用,必须先把服务搭建起来才行。我们等后面的服务器配置后再讲。

三、Subversion服务器的搭建
我们使用与Apache模块的方式运行。
首先,把我们需要的SVN模块加载上,修改Apache的配置文件httpd.conf:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_module modules/mod_dav.so
LoadModule authz_svn_module modules/mod_authz_svn.so

然后配置仓库:

<Location /svn>
  DAV svn
  SVNParentPath d:/svn
</Location>
然后,配置验证方式:
这里使用旦Apache的验证方式:

htpasswd -cm d:/svn/svn-auth-file user1
然后,会提示输入密码,这里就加入了一个用户了。然后再加一个用户:
htpasswd -m d:/svn/svn-auth-file user2

然后修改配置:
<Location /svn>
DAV svn
SVNParentPath d:/svn
AuthType Basic
AuthName “Subversion repository”
AuthUserFile d:/svn/svn-auth-file
Require valid-user
AuthzSVNAccessFile d:/svn/svn-access-file
</Location>
下面,就要写这个svn-access-file文件了,它是用来控制用户访问仓库的权限的,我们把说明写在后面
[svn1:/]               //这表示,仓库svn1的根目录下的访问权限
harry = rw             // svn1仓库harry用户具有读和写权限
sally = r               // svn1仓库sally用户具有读权限
[svn2:/]               //svn2仓库根目录下的访问权限
harry = r               // harry用户在svn2仓库根目录下只有读权限
sally =               // sally用户在 svn2仓库根目录下无任何权限
#[/]               // 这个表示在所有仓库的根目录下
#* = r               // 这个表示对所有的用户都具有读权限
#[groups]               // 这个表示群组设置
#svn1-developers = harry, sally           // 这个表示某群组里的成员
#svn2-developers = sally
#[svn1:/]            
#@svn1-developers = rw       // 如果在前面加上@符号,则表示这是个群组权限设置

将这个设置完成后。重启Apache,就可以通过
http://localhost/svn/svn1
http://localhost/svn/svn2
这两个URL来访问仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限
客户端的使用,可以通过许多客户端GUI软件来用。比如TortoiseSVN就很好用。
官方网址:http://tortoisesvn.tigris.org/

发表时间: 2005-05-14 01:49


以上是使用Apache方式配置服务器.如果不使用Apache,使用svnserve方式,则灵活性要小得多.下面讲一个例子说明一下,以linux下为例子:

一.找一个地方集中放所有的SVN库,为方便起见,我们在根目录下建一个目录(或者可挂在一个单独的分区上,把/svn挂上),最好新建一个svn用户来对subversion进行配置,不要用root用户
这里假设创建了个库: test1, test2二

#mkdir /svn
$svnadmin create /svn/test1
$svnadmin create /svn/test2

二.配置权限,编辑每个库下的conf/svnserve.conf, conf/passwd这两个文件
因为svnserve的限制,所以对权限的配置比较的笼统,如要想更灵活,得用其它方式(ssh或者pl等)

teset1/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd
realm = test1 Repository


test2/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd
realm = test2 Repository


然后,编辑每个库下的conf/passwd文件(用户名和密码)
test1/conf/passwd

[users]
admin = adminpasswd
test1 = test1passwd


test2/conf/passwd

[users]
admin = adminpasswd
test2 = test2passwd


三.启动服务器,因为要使用多个库,所以不使用-r参数指定库
$svnserve -d

如此,服务器基本配置完毕
客户端的使用和前面的一样只不过,库网址变成了svn://样式的了,比如:

svn co svn://localhost/svn/test1
然后会提示用户名和密码

yfy002 2005-08-19 10:14
非常感谢。

yfy002 2005-08-19 13:24
第三方工具

Subversion 的模块化设计(在"分层化设计"一节中有描述)以及与其他语言的绑定的能力(在"使用 C 和 C++ 之外的语言"一节中有介绍)使得它很适合作为其他软件的扩展或是支持模块。在这个附录中,我们将简单的介绍一些使用 Subversion 的第三方的软件。
  如果你想获得这部分信息的最新的版本,请查阅 Subversion 站点的链接页(http://subversion.tigris.org/project_links.html)。
 
D.1 客户端和插件

  AnkhSVN (http://ankhsvn.tigris.org/
    微软 Visual Studio .NET 的 Subversion 插件

  JSVN (http://jsvn.alternatecomputing.com/
    Java Subversion 客户端,包含一个 IDEA 的插件

  psvn.el (http://xsteve.nit.at/prg/vc_svn/
    Emacs 的 Subversion 接口

  RapidSVN (http://rapidsvn.tigris.org/
    基于 WxPython libraries 的跨平台的 Subversion 图形化客户端

  Subclipse (http://subclipse.tigris.org/
    Eclipse 下的 Subversion 插件

  Subway (http://nidaros.homedns.org/subway/
    Microsoft SCC provider for Subversion

  sourcecross.org (http://www.sourcecross.org/
    Microsoft SCC provider for Subversion

  Supervision (http://supervision.tigris.org/
    Subversion 的 Java/Swing 图形化客户端

  Sven (http://www.nikwest.de/Software/#SvenOverview
    使用 Mac OS X Cocoa 框架开发的 Subversion 图形化客户端

  Svn4Eclipse (http://svn4eclipse.tigris.org/
    为 Eclipse IDE 设计的 Subversion 插件

  Svn-Up (http://svnup.tigris.org/
    基于 Java 的 Subversion 以及 IDEA IDE 的插件
 
  TortoiseSVN (http://tortoisesvn.tigris.org/
    作为微软 Windows 外壳扩展设计的 Subversion 客户端
 
  WorkBench (http://pysvn.tigris.org/
    在 Subversion 基础上构建的基于 Python 的跨平台软件设计环境

D.2 和语言的绑定

  PySVN (http://pysvn.tigris.org/
    供 Python 使用的面对对象的 Subversion 客户端 API 项目

  Subversion (http://subversion.tigris.org/
    供 Python、Perl、和 Java 使用的 Subversion API;对应于核心的 C API

  SVNCPP (http://rapidsvn.tigris.org/
    供 C++ 的面对对象的 Subversion 客户端 API

D.3 仓库转换工具

  cvs2svn (http://cvs2svn.tigris.org/
    从 CVS 到 Subversion 的转换

  vss2svn (http://vss2svn.tigris.org/
    从 Microsoft SourceSafe 到 Subversion 的转换

  Subversion VCP Plugin (http://svn.clkao.org/revml/branches/svn-perl/
    从 CVS 到 Subversion 转换的 VCP 插件

D.4 更高领域的一些工具

  Kwiki (http://www.kwiki.org/
    带有 Subversion 备份支持的 Wiki

  Scmbug (http://freshmeat.net/projects/scmbug/
    集成了漏洞跟踪的软件配置管理系统,支持 Subversion

  Subissue (http://subissue.tigris.org/
    直接在 Subversion 仓库中跟踪发布

  Subwiki (http://subwiki.tigris.org/
    使用 Subversion 作为数据仓库 的 Wiki

  svk (http://svk.elixus.org/
    基于 Subversion 的分散式的 版本控制系统

  submaster (http://www.rocklinux.org/submaster.html
    基于 Subversion 的分布式的软件开发系统

D.5 仓库浏览工具

  SVN::Web (http://svn.elixus.org/repos/member/clkao/
    基于 Perl 的 Subversion 仓库 Web 接口

  ViewCVS (http://viewcvs.sourceforge.net/
    基于 Python 的 CGI 脚本,用来浏览 CVS 和 Subversion 仓库

  WebSVN (http://websvn.tigris.org/
    基于 PHP 的 Subversion 第三方仓库浏览工具

  Trac (http://projects.edgewall.com/trac
    基于 Web 的软件项目管理、漏洞跟踪、发布系统,使用版本控制系统接口,并且集成了 Wiki 支持

adoif 2005-11-07 15:44
非常感谢 !!! 本人初步接触Subversion配置管理器

希望各位多多帮忙!!!我的MSN是gangfengl@hotmail.com多多指教

adoif 2005-11-07 17:50
请问一下高手们:
  我现在想建立一个管理库 情况是这样的

  公司的档案库 >然后里面分各个部门的子目录 > 各个部门下面又分各个项目组> 各个项目组
怎么建呀?请高手们指点迷津 谢谢!!!

XChinux 2005-11-07 20:26
下面是引用adoif于2005-11-07 17:50发表的:
请问一下高手们:
  我现在想建立一个管理库 情况是这样的
  公司的档案库 >然后里面分各个部门的子目录 > 各个部门下面又分各个项目组> 各个项目组
怎么建呀?请高手们指点迷津 谢谢!!!


精心设置目录和用户组权限即可。

adoif 2005-11-09 16:51
如果不用subversion用户管理SVN 而用Linux用户来管理SVN这样行不行?
Subversion客户端如何修改SVN管理员预设的密码?

adoif 2005-11-11 11:48
Subversion 备份档案的操作步骤怎么样???谢谢

lucy_pipi 2005-11-17 17:00
这几天我也在配置subversion,今天遇到一个问题,请各位前辈帮忙解决一下呀。
就是在配置权限的时候,通过apche控制,对于中文目录权限控制不起作用怎么办?

yang 2006-03-27 19:43
非常感谢 !!! 本人初步接触Subversion
我在配置subversion服务器时在命令提示符下进入Subversion安装目录下的bin目录,执行命令:


SVNService -install -d -r F:\SVN

这里F:\SVN是我们的代码仓库所在目录。

执行完后,服务已经安装,但是没有启动也没有配置成自动启动,需要手工在Windows服务管理里面设定。这样,服务器端就配置好了。

这里在windows服务器管理里面设定是什么回事?
怎么设定呀?

还有我在往文件库里导入文件时出现提示错误:错误: Can't connect to host '202.113.121.244': 由于目标机器积极拒绝,无法连接。  
怎么回事?

有请高手指教,多谢!
我的QQ:95195194
email:yangxianli2004@163.com


lzjjack 2006-04-10 16:43
Subversion是做什么用的。。我是一个初学者不要笑?

XChinux 2006-04-10 18:03
引用第10楼lzjjack2006-04-10 16:43发表的“”:
Subversion是做什么用的。。我是一个初学者不要笑?



管理源代码的。和CVS, Visual SourceSafe, ClearCase等是同一种类型的工具。

月牙儿 2006-05-22 14:37
非常感谢!
我也刚接触版本控制,但是找不到一本适合初学者的书,
有这方面的书籍吗?
谢谢!


查看完整版本: [-- 【原创】Subversion版本管理器简单配置说明 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled