Subversion 项目的初衷是为了替换现在开源社区最为流行的版本控制软件 CVS,在 CVS的功能的基础上有很多的提升同时也能较好的解决 CVS 系统的一些不足,这些提升主要包括以下的一些方面:
1. 目录、文件以及改名等元数据的版本化
不同于 CVS 只关心文件的内容以及文件是否存在,所有文件、目录的相关操作都是被版本化的,例如文件的改名、拷贝等等;
2. 提交操作是真正的原子操作
在 Subversion 中,提交操作是不可分割的,修订版本号是基于每次提交操作而非文件。提交日志被附加在每个修订版本中,而不是像 CVS 一样冗余的进行存储;
3. 可通过 Apache 服务器提供基于 WebDAV/DeltaV 协议的支持
该功能可使 Subversion 通过 Apache Web 服务器使资源库更加灵活的在网上进行共享,使其在互操作性上大大优于 CVS;
4. 可独立运行
当你不想使用 Apache 2.x 时候,你也可以使用 Subversion,它可以以守护进程或者是Windows 下的服务方式独立运行;
5. 分支(Branching)与标签(Tagging)操作是轻量级的;
6. 客户服务器端分层库结构设计;
7. 资源库可以采用数据库(BerkeleyDB)或者是使用特定格式的文件进行存储;
8. 更有效的对二进制文件进行处理。
在Windows下安装最为方便的办法就是下载安装程序包,详细过程如下:
1.安装程序与下载说明
Apache Web服务器 :http://httpd.apache.org/download.cgi
(Apache2.0.X版,我用的是2.0.54版;用2.2.X在windows下配置文件修改后无法启动!2.0.52或其他版本可能不使用)
Subversion :(http://subversion.tigris.org/files/documents/15/35379/svn-1.4.2-setup.exe)
TortoiseSVN 客户端工具 (TortoiseSVN-1.4.1.7992-win32-svn-1.4.2.msi)
2. 程序安装
(1)Apache2.0.54安装
防止安装有问题,在安装前我先将IIS端口改为8080,然后按提示安装完成
打开 http://loccalhost,如果能出现内容,那你的Apache就安装成功了。
注:如果你将Apache安装成一个服务,它将以本地system帐户来运行。为Apache创建一个单独的用户来运行它将会更安全一些。
请确保运行Apache的用户有版本库的完全访问权限(右键版本库目录->属性->安全)。要不然,用户将无法提交他们的更改。就算Apache以本机system来运行,你也要设置它能完全读写版本库目录。
如果没有为Apache配置这个许可,用户将会得到"禁止访问"的错误信息,在Apache的错误日志中表现为错误500。
(2)运行Subversion安装程序,如果安装程序能够识别你已经安装了Apache,那么你的安装基本上就OK了。如果它不能(我的机器未能识别),那么你需要做以下手工配置:
注:如果你先安装Apache,再安装Subversion,正常情况下下面的工作(2.3配置前)Subversion安装程序已经帮你完成了使用资源管理器,进入Sibversion的安装目录(通常为c:\program files\Subversion),找到文件httpd/mod_dav_svn.so和mod_authz_svn.so,将它们拷贝到Apache的modules目录(通常为c:\program files\apache group\apache2\modules)。
从Subversion的安装目录拷贝文件libdb43.dll到Apache的modules目录。
注:也可以把所有SVN的.so文件和.dll都拷到相应apache的modules和bin目录下。
使用如记事本之类的文本编辑器编辑Apache的配置文件(通常为c:\program files\apache group\apache2\conf\httd.conf),修改以下内容:
去掉以下行的注释(将开头的#删除):
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
在LoadModule节的最后添加以下两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
在配置文件的最后添加下面这些行:
<Location /svn>
DAV svn
SVNParentPath D:\SVN
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:\passwd
#AuthzSVNAccessFile D:\svnaccessfile
Require valid-user
</Location>
配置表示:你所有的版本库将位于D:\SVN目录下,要访问你的版本库可以使用这样的
URL:http://YourIP/svn/,访问权限将由passwd文件中的用户名/密码来限制。
详细说明如下:
---------------------------------------------------------------------------
<Location /svn>
意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库
DAV svn
告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块
SVNListParentPath on
在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库
SVNParentPath D:\SVN
告诉Subversion在目录D:\SVN下寻找版本库 #(修改成你自己的目录)
AuthType Basic
启用基本的验证,比如用户名/密码
AuthName "Subversion repositories"
当一个验证对话框弹出时,告诉用户这个验证是用来做什么的
AuthUserFile D:\passwd #(密码文件,不是文件夹哦)
指定D:\passwd用为密码文件用来验证用户的用户名及密码
AuthzSVNAccessFile D:\svnaccessfile
指定D:\svnaccessfile来限定各个用户或组在版本库中目录的访问权限
Require valid-user
限定用户只有输入正确的用户名及密码后才能访问这个路径
-----------------------------------------------------------------------------
创建passwd文件
打开命令行(DOS窗口CMD),
将当前目录切换到apache2目录(通常为c:\program files\apache group\apache2\bin),
输入命令:
htpasswd.exe -c passwd username
Automatically using MD5 format.
New password: ****** (输入密码)
Re-type new password: ******
Adding password for user username
copy passwd d:\ (Httpd.conf 中设定的是在D:)
重启Apache服务。
重启后打开http://YourIP/svn/ 输入密码后,还是出错(因为还没有建立版本库)
Forbidden
You don't have permission to access /svn on this server.
--------------------------------------------------------------------------------
Apache/2.0.59 (Win32) SVN/1.4.2 DAV/2 Server at 192.168.18.8 Port 80
(3)TortoiseSVN
按提示安装完成,需重启电脑
3.SVN项目设置
(1).打开资源管理器,在D:\SVN目录下新建repository目录
(2).在WWW文件夹上右击TortoiseSVN--->Create repository here...
(也可以通过命令的方式:到SVN的安装BIN目录。运行:svnadmin create D:\svn\www
d:\svn目录需先建好,要不会出错:
svnadmin: 档案库创建失败
svnadmin: 无法创建最上层目录
(3).然后选择Native filesystem(FSFS)
(4).到项目文件夹上,右击TortoiseSVN-->import...
在URL of repository:中输入http://YourIP/svn/repository
(5).项目成员,可在自己机上新建一个空的项目文件夹.右击SVN checkout...
在提示的用户名和密码对话框中输入服务端配置的用户名和密码;然后点击OK;后面对话框中即会显示逐个加入的文件和目录信息,最后一条显示“Completed At Version 1”。
如果成功,可以在本地目录下看到相应的代码文件。选中文件或目录,可以进行“SVN Update”(从服务器更新版本)和“Svn Commit”(提交更改到服务器)操作。
附:(我的http.conf(部分)):
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
#SVN Location
<Location /svn>
DAV svn
SVNParentPath e:/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile e:/svn/repository/conf/passwords
AuthGroupFile e:/svn/repository/conf/groups
# AuthzSVNAccessFile e:/svn/repository/conf/authz.conf
Require group svngroup
</Location>
分享到:
相关推荐
### Subversion for Windows安装指南知识点总结 #### 一、Subversion概述 - **定义**: Subversion,简称SVN,是一种集中式的版本控制系统。它通过跟踪文件和目录的变化历史,允许团队成员协同工作,并且可以回溯到...
Subversion for Windows 1.7.1 Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为...
- **运行安装程序**:运行可执行文件 `SubversionEdge3.2.1(Windows32-bit)` 进行安装,默认情况下安装路径为 C 盘。 - **配置 Java 环境变量**:如果安装 Subversion Edge 前没有安装 Java 和 Python,那么安装过程...
**Subversion for Windows with Apache 服务器安装指南** 在IT行业中,版本控制系统对于团队协作和代码管理至关重要。Subversion(简称SVN)就是这样一个强大的工具,它允许开发人员追踪和控制文件及目录的变更。本...
博文链接:https://tvjody.iteye.com/blog/216108
这个"subversion64 windows版"是一套专为Windows操作系统设计的一键安装解决方案,简化了在Windows系统上部署和使用Subversion的过程。 Subversion的核心功能包括: 1. 版本控制:Subversion跟踪文件和目录的更改...
Windows下Subversion安装使用 Windows下Subversion安装使用
在安装Subversion for Eclipse时,开发者通常会通过Eclipse的“帮助”->“Eclipse Marketplace”或“软件更新”功能来查找并安装Subversive插件。安装完成后,需要配置Subversion仓库的连接信息,如URL、用户名和...
Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作...
"Setup-Subversion_for_windows.zip"就是一个为Windows用户提供的Subversion安装包。 首先,我们需要了解Subversion的核心概念。它创建了一个中央仓库,所有项目文件都存储在这个仓库中。每个团队成员都可以通过...
Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作...
"subversion-1.7.8 for windows" 提供的是Subversion 1.7.8版本的Windows平台安装包,这使得Windows用户能够方便地在本地环境中部署和使用Subversion。 Subversion的核心功能包括: 1. **版本历史记录**:...
HOWTO: Subversion for Windows with Apache server - a beginner's guide
3. **安装Subversion**:接下来,安装Subversion本身,执行`sudo zypper install subversion`。这将安装Subversion服务器、客户端以及相关的依赖项。 4. **配置Subversion**:安装完成后,你需要配置Subversion...
### Subversion服务器端安装及...通过上述步骤,你可以成功地在Windows XP环境下安装并配置Subversion服务器,实现版本控制功能。这对于团队协作开发非常重要,可以有效管理源代码的变化历史,提高软件开发效率和质量。
Subversion Edge是Collabnet公司发布的SVN和Apache等组件结合的SVN管理工具;最新版本 5.2.4集成了 SVN1.12版本。官网( https://www.collab.net/downloads/subversion );官网下载非常慢,分享给需要的朋友;
### Subversion Zip 版本安装详解 #### 一、Subversion简介 Subversion(简称SVN)是一种开源的版本控制系统,用于管理软件开发过程中的源代码版本控制。它支持多种平台,包括Windows、Linux和Mac OS等。通过...
Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作...
### Windows安装配置SubVersion #### 一、概述 在Windows环境下安装配置SubVersion(简称SVN),是一项重要的版本控制管理任务。SVN是一种集中式的版本控制系统,被广泛应用于软件开发团队,以帮助开发者们追踪...