SubVersion安装与配置
Author:malonglong.com Date:20070725
---------------------------------------------------------------------------------------------------------
1、下载相关软件
SubVersion v1.4.3 服务端
svn-1.4.3-setup.exe 下载地址:http://subversion.tigris.org/project_packages.html
Apache v2.0.59 Web服务
apache_2.0.59-win32-x86-no_ssl.msi 下载地址:http://httpd.apache.org/download.cgi
TortoiseSVN v1.4.4、LanguagePack-1.4.4.9706-win32-zh_CN.exe 客户端及语言包
下载地址:http://tortoisesvn.net/downloads
注:选择SubVersion v1.4.3和Apache2.0是因为SubVersion v1.4.4mod_dav_svn.so和mod_authz_svn.so
在Apache2.2中不被支持,网上查了下好像还要下载Apache2.2 的apr等,就选择了这个版本。
2、安装
1)、先安装Apache,安装选项默认即可;
2)、安装SVN,安装前要保证Apache处于运行状态;
注:SVN的安装需要对Apache的配置进行修改。如先安装Apache,再安装SVN,配置文件会自动更新。
也可手动进行配置,如下:
去掉如下几行的注释(删除 '#'标记):
#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
这里要注意最后追加的2个module,配置的时候使尽量使用绝对路径,不然很容易出错。
3)、安装TortoiseSVN和语言包,默认安装即可。
3、SubVersion测试验证( * 以下验证功能均可通过TortoiseSVN实现)
1)、创建存储目录
创建文件存储目录C:/home/repos
2)、存储目录初始化
新做成的目录必须要经过Subversion初始化之后才能使用。
C:/> svnadmin create C:/home/repos
3)、新模块做成,import
新做成一个模块,import到Subversion里。
(1)、新做成目录和文件
建立一个目录,创建名为readme.txt的文件。
C:/> mkdir work
C:/> cd work
C:/work> mkdir myproject
C:/work> cd myproject
C:/work/myproject> echo This is readme file. > readme.txt
C:/work/myproject> type readme.txt
This is readme file.
(2)、把当前目录下的新模块myproject Import到Subversion的存储目录里。
注意Import的存储目录用file:///C:/home/repos来指定。
C:/work/myproject> svn import file:///C:/home/repos -m "Initial import."
Adding readme.txt
Committed revision 1.
(3)、把练习用得作业目录删除
C:/work/myproject> cd ..
C:/work> del myproject
…
C:/work>rmdir myproject
现在为止,myproject目录里的内容都删掉了。在Subversion的存储目录里,登陆了名为myproject的模块。
4)、check out
(1)、把myproject模块check out
C:/work> svn checkout file:///C:/home/repos myproject
A myproject/readme.txt
Checked out revision 1.
C:/work> cd myproject
C:/work/myproject> dir /b
readme.txt
C:/work/myproject> type readme.txt
This is readme file.
可以看到确实把文件从Subversion的存储空间取过来了。
其实取过来的并不仅仅是你做成的文件,还有.svn,这是Subversion版本管理用的隐藏文件。
就像CVS里面每个文件夹下都有个CVS一样。用/a就能看到了
C:/work/myproject> dir /b/a
.svn
readme.txt
4、配置(通过Apache访问SVN库)
1)、在D盘创建svn目录用于存放项目
2)、在$Apache2/conf/httpd.conf文件的最后面加入如下代码;
<Location /svn>
DAV svn
SVNParentPath d:/svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile d:/svn/svn-auth-file
AuthzSVNAccessFile d:/svn/svn-access-file
Satisfy Any
Require valid-user
</Location>
3)、svn-auth-file文件存储用户信息,此文件可由Apache生成:
htpasswd -c passwd <用户名> //创建密码文件,并新建第一个用户
htpasswd passwd <用户名> //追加一个用户
4)、svn-access-file文件存储目录权限信息
内容如下:
[/] //根目录权限
test = r
[test:/] //test为/svn/test项目
test = rw
5)、可通过http://Server/svn/test访问该项目,输入用户名和密码即可进行浏览。