/****************************/
/*************** SVN apache 方式安装及配置: ***************/
/****************************/
一、下载安装APACHE2,安装文件可以到官方网站 http://www.apache.org 下载.
tar xvzf httd-2.0.52.tar.gz
cd httpd-2.0.55
//安装APR和APR-UTIL
cd srclib/apr
./buildconf
./configure --prefix=/data1/apr
make && make install
cd ../apr-util
./buildconf
./configure --prefix=/data1/apr --with-apr=/data1/apr
make && make install
cd ../..
./configure --enable-dav --prefix=/data1/apache2 --with-apr=/data1/apr --with-apr-util=/data1/apr --enable-so --enable-rewrite
make && make install
二、安装subversion
1。编译安装,安装文件可以到官方网站 http://www.subversion.org.cn 下载.
tar zvxf subversion-1.3.0.tar.gz
cd ./subversion-1.3.0
./configure --prefix=/data0/subversion --with-apr=/data1/apr --with-apr-util=/data1/apr --with-apxs=/data1/apache2/bin/apxs
make && make install
编译完成后会自动在 /usr/local/apache2/conf/httpd.conf 添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
2。创建一个subversion版本库
/data0/subversion/bin/svnadmin create /data0/svn/
mkdir /data0/svn/access
mkdir /data0/svn/root1
mkdir /data0/svn/root2
3。修改svn版本库的配置文件
vi /data0/svn/conf/svnserve.conf
将[general]一行前面的"#"去掉,并且不能有空格符号。
4。创建apache的认证用户和认证组
/data1/apache2/bin/htpasswd -cb /data0/svn/access/http_auth_userfile admin admin
/data1/apache2/bin/htpasswd -b /data0/svn/access/http_auth_userfile user01 user01
/data1/apache2/bin/htpasswd -b /data0/svn/access/http_auth_userfile user02 user02
5。编辑subversion版本库权限控制文件
$> vi /data0/svn/access/svn_auth_groups
##subversion版本库组权限控制
#
[groups]
usersgroup01 = user01
usersgroup02 = user02
[/]
admin = rw
[root1:/]
usersgroup01 = rw
usersgroup02 = r
[root2:/]
usersgroup01 = r
usersgroup02 = rw
$> vi /data0/svn/access/http_auth_groupfile
sys-users: jinshuai
tech-users: hanyang
6。修改文件访问权限
chown -R nobody /data0/svn
三、在apache2的httpd.conf中加入以下代码:
<Location /svn>
DAV svn
SVNParentPath /data1/svn
# our access control policy
AuthzSVNAccessFile /data0/svn/access/svn_auth_groups
# how to authenticate a user or group
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data0/svn/access/http_auth_userfile
AuthGroupFile /data0/svn/access/http_auth_groupfile
Require group usersgroup01 usersgroup02
</Location>
四、启动subversion服务器
/data0/subversion/bin/svnserve -d -r /data0/svn
五、检查权限设置是否正确:
可以在浏览器的地址栏里直接输入svn://ip地址/版本库路径,会弹出一个验证窗口。
六,导入版本库和取得一个版本库的拷贝
svn import /data0/sysadmin/README.txt http://svn服务器地址/版本库名 -m "initial import"
svn checkout svn://svn服务器地址/版本库名 本地目录
/****************************/
/*************** TortoiseSVN客户端的使用: ***************/
/****************************/
安装TortoiseSVN,直接运行TortoiseSVN-1.2.4.4479-svn-1.2.3.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
1,初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:/svndemo/initproject,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import...
URL of repository输入"http://svn服务器地址/版本库名"
ok
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
2,基本客户端操作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:/svndemo/wc1,运行右键->Checkout,在URL of repository中输入http://svn服务器地址/版本库名,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。
察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。
/****************************/
/***************典型的客户端工作周期是这样的:***************/
/****************************/
更新你的工作拷贝
svn update
做出修改
svn add
svn delete
svn copy
svn move
检验修改
svn status
svn diff ##显示两个路径或是版本之间的诧异
svn revert ##
合并别人的修改到工作拷贝
svn update
svn resolved
提交你的修改
svn commit