有关Subversion安装配置笔记 比较零碎. 本人在 Fedora 已有安装. 可以免费提供Subversion版本控制器帐号给大家测试
win下采用TortoiseSVN进行版本管理的时候注意在目录改名删除方面要利用TortoiseSVN带的相应功能来进行,不要直接进行删除或改名.否则会出现文件提交不上,有可能进行N边清理也没有效果.结果只能重新update 然后再用 TortoiseSVN 进行删除或改名.
另外就是在版本控制器下面的目录转移时.感觉比较棘手.我是先把要转移的目录A Export出来放在目录B.然后用TortoiseSVN删除目录A,.然后把目录B进行提交. 如果直接把目录进行转移会导致版本不能提交问题.
记住在针对目录的所有操作小心点,采用 TortoiseSVN进行操作就可以了,
有关安装
2006-1-23 15:31
下载地址
http://subversion.tigris.org/servlets/NewsItemView?newsItemID=1417
http://subversion.tigris.org/downloads/subversion-1.3.0.tar.gz
添加启动服务的用户
adduser svnroot
passwd svnroot
su svnroot
[解包安装]
tar zxvf subversion-1.3.0.tar.gz
./configure --prefix /soft/webserver/subversion --with-apxs=/soft/webserver/apache2/bin/apxs
make
make install
此时会自动在/soft/apache2/conf/httpd.conf添加
LoadModule dav_svn_module modules/mod_dav_svn.so
安装完成后,运行svnserver --version确认版本为1.3.0。
SVN服务器安装结束.
[建立仓库Repository]
Subversion 的档案库是个中央仓储, 用来存放任意数量项目的受版本控管数据,建立方法很简单
#svnadmin create path/to/repos
mkdir /var/svnrepos/
mkdir /var/svnrepos/user
/soft/webserver/subversion/bin/svnadmin create /var/svnrepos/user/ggg
chown svnroot.svnroot -R /var/svnrepos
[参数配置]
vi /var/svnrepos/user/ggg/conf/passwd
文件最后台加入
[users]
ggg = 123
来建立 ggg 用户 访问密码是 123
然后把保存密码的文件放到/var/svnrepos/user/ 这样可以共享用户密码库
cp /var/svnrepos/user/ggg/conf/passwd /var/svnrepos/user/
启动服务运行
/soft/webserver/subversion/bin/svnserve -d -r /var/svnrepos
修改当前仓储的配置
vi /var/svnrepos/user/ggg/conf/svnserve.conf
文件最后台加入
[general]
anon-access = read
auth-access = write
password-db = /var/svnrepos/user # 这里指定了密码文件的保存位置
realm = websvnrepos
########### apache svn 定义 ###########
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/svnrepos
AuthType Basic
AuthName "Subversion repositories"
[导入项目文件]
在要导入文件的目录下运行
/soft/webserver/subversion/bin/svn import . svn://localhost/user/ggg/ -m "initial import" --username ggg --password 123
更新当前目录
/soft/webserver/subversion/bin/svn update
导出到当前目录
/soft/webserver/subversion/bin/svn checkout svn://localhost/user/ggg
运行
/soft/webserver/subversion/bin/svnserve -d -r /var/svnrepos
停止
killall -TERM svnserve
客户认证机制
修改[general]字段下内容为:
anon-access = read
如果设为anon-access = none,则匿名用户不可以通过svn://方式访问档案库
/soft/webserver/apache2/bin/htpasswd -c /etc/svn-auth-file ggg
########### apache svn define ###########
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/svnrepos
AuthType Basic
AuthName "Subversion repositories"
#AuthUserFile passwd
#AuthzSVNAccessFile /var/svnrepos/authz.conf
#Require valid-user
</Location>