版本控制

一,概述

SVN安装与配置

1 Windows下安装SVNManager

1.1 安装Apache-2.0.59、SVN-1.4.3、PHP5.2.3

1.1.1 安装步骤

安装Apache-2.0.59(备注:使用apache-2.2时,没能配置成功)到C:/SVNHome

安装SVN-1.4.3到C:/SVNHome/Subversion

安装php-5.2.3-win32-installer.msi到C:/SVNHome/PHP

停止Apache服务,解压php-5.2.3-Win32.zip,覆盖C:/SVNHome/PHP相应文件

1.1.2 此过程中自动完成的有

内容 含义

ServerRoot "C:/SVNHome/Apache2"

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so(该句需手工去掉前面的#)

LoadModule dav_svn_module "C:/SVNHome/Subversion/bin/mod_dav_svn.so"

LoadModule authz_svn_module "C:/SVNHome/Subversion/bin/mod_authz_svn.so"

ServerName win0101.corp.jbhydro.com:80

DocumentRoot "C:/SVNHome/Apache2/htdocs"

<Directory "C:/SVNHome/Apache2/htdocs">

Alias /icons/ "C:/SVNHome/Apache2/icons/"

<Directory "C:/SVNHome/Apache2/icons">…

AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "C:/SVNHome/Apache2/manual$1"

<Directory "C:/SVNHome/Apache2/manual">…

ScriptAlias /cgi-bin/ "C:/SVNHome/Apache2/cgi-bin/"

<Directory "C:/SVNHome/Apache2/cgi-bin">…

  1. BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

PHPIniDir "C:\\SVNHome\\PHP\\"

LoadModule php5_module "C:\\SVNHome\\PHP\\php5apache2.dll"

  1. END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

1.1.3 需手工配置的有

内容 含义

    1. SVN

<Location /svn/>

 DAV svn
 SVNParentPath "C:/SVNHome/Home/repos"
 SVNListParentPath on
 AuthzSVNAccessFile "C:/SVNHome/Home/auth/svn_rules"
 Satisfy Any
 Require valid-user
 AuthType Basic
 AuthName "Subversion repository"
 AuthUserFile "C:/SVNHome/Home/auth/svn_users"

</Location>

拷贝C:\SVNHome\Subversion\bin\ mod_authz_svn.so(mod_dav_svn.so)到

C: \SVNHome\Apache2\modules

AddType application/x-httpd-php .php

DirectoryIndex index.html index.php

在C:\SVNHome\PHP\php.ini中去掉以下3句最前面的;

extension=php_pdo.dll

extension=php_sqlite.dll

extension=php_pdo_sqlite.dll

修改php.ini

extension_dir = "C:/SVNHome/PHP/ext" PHP对sqlite的支持

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_pdo.dll

extension=php_pdo_mysql.dll

修改php.ini

extension_dir = "C:/SVNHome/PHP/ext" PHP对MySQL的支持


1.1.4 验证Apache、PHP是否安装正确

自己写一个phpinfo.php保存在.\Apache2\htdocs下,内容如下

<?php

echo phpinfo();

?>

访问http://localhost/phpinfo.php,如果能正常显示信息,则Apache、php安装正确

1.2 安装Pear、VersionControl_SVN

运行C:\SVNHome\PHP>go-pear.bat,之后双击C:\SVNHome\PHP\PEAR_ENV.reg, 然后运行C:\ SVNHome\PHP>pear install --alldeps VersionControl_SVN-alpha(确保连上了互连网), 用命令C:\SVNHome\PHP>pear list检查是否配置正确

1.3 SVNManager的配置

解压svnmanager-0.38.zip到C:/SVNHome/Apache2/htdocs/svnmanager, 修改config.php为 config.php.unix,复制config.php.win为config.php,修改config.php,内容如下

$htpassword_cmd = "C:/SVNHome/Apache2/bin/htpasswd";

$svn_cmd = "C:/SVNHome/Subversion/bin/svn";

$svnadmin_cmd = "C:/SVNHome/Subversion/bin/svnadmin";

$svn_repos_loc = "C:/SVNHome/repos";

$svn_passwd_file = "C:/SVNHome/auth/svn_users";

$svn_access_file = "C:/SVNHome/auth/svn_rules";

//$dsn = "mysqli://username:password@hostname/databasename";(mysql用这句)

$dsn = "sqlite://svnmanager.db";(sqlite用这句)


1.4 参考文章

SVNManager Installation.pdf(svnmanager-0.38.zip中自带)

http://www.jlchannel.com/blog/?p=104

http://hi.baidu.com/houhl/blog/item/a9f983c2fd86d5190ff47763.html

http://hi.baidu.com/houhl/blog/item/5de08e778fb2b419b151b974.html

http://hi.baidu.com/houhl/blog/item/58646c36886129dfa2cc2b59.html

1.5 软件版本

Apache-2.0.59、SVN-1.4.3、PHP5.2.3(一个msi、一个zip)、mysql-5.0.18、 EMSMySQLManagerPro2851(不会用MySQL的命令行方式,所以装了它)

    • Subversion相关培训及软件产品**

ESEChina和Subversion中文站长期致力于Subversion相关产品及服务的研发和推广,最新向广大客户推出了一批Subversion及软件配置管理相关的培训课程, 这些课程可以多种不同的方式向客户提供,同时还对参加这些培训的客户免费赠送受到大家广泛关注的基于Subversion构建的软件配置管理平台——SmartChange 2007。

以下是Subversion相关的课程列表,点击可查看详情并下载课程的详细介绍资料:

Subversion基础系列培训

Subversion管理员培训

Subversion用户(使用TortoiseSVN)培训

Subversion软件配置管理高级系列培训

SVN环境下软件配置管理的实现

并行软件开发的分支模式

Subversion软件配置管理实作系列培训

Subversion软件配置管理实作系列培训——规划和部署

Subversion软件配置管理实作系列培训——项目开发管理

Subversion软件配置管理实作系列培训——构建和发布

Subversion软件配置管理实作系列培训——配置管理高级课题

SVN简易教程


参见

版本控制工具历史的10个里程碑

《版本控制之道-使用Git》赏析--附录A-Git命令快速参考|

Mercurial与TortoiseHg使用入门教程| Mercurial的介绍及简要入门| 放弃Mercurial和TortoiseHg,转用git(msysGit+TortoiseGit)| SVN+GIT=鱼与熊掌兼得| Git-SVN配合使用之简明教程|

分布式的,新一代版本控制系统Mercurial的介绍及简要入门|

Git教程|

TortoiseCVS 新手使用方法 图解|

推荐私人免费项目管理及SVN服务:unfuddle| 免费的SVN空间|

DreamLand - 【原创】用subversion(SVN)进行版本管理.mht 674k subversion是绿色软件么?|

SmartChange.pdf 751k

svn版本管理教程.rar 475k

主流源码版本管理工具的特色浅析

版本控制系统再考察

分布式的版本控制工具

远程修改基于apache配置的Subversion密码的工具ApachePasswd


Subversion权限控制配置


Subversion Administration: A Web Interface for Administering Subversion Repositories


SVNManager is a webbased tool to administer a Windows/Linux/Unix Apache WebDAV Subversion repository server. 使用SVNManager管理使用SVN 从此SVN使用了http协议


Subversion的权限控制


Subversion之路--实现精细的目录访问权限控制


搭建windows环境的版本管理服务器


SVN使用技巧


用 Subversion 跟 Google Code 作版本控制 (二)


VS.NET插件AnkhSVN


安装与配置SVN


用开源软件Subversion进行个人文档管理


Visual SourceSafe 2005 教程


VSS 2005 配置(含录像)


TSVNCache.exe是什么进程?


CVS:版本控制的开放标准

http://dev.csdn.net/develop/article/16/16370.shtm


应用版本控制软件管理软件开发

http://cpb.cn/disdocument.asp?id=44