免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1807 | 回复: 0
打印 上一主题 下一主题

SVN简明实施指南[SVN On Apache With Trac] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-05 22:36 |只看该作者 |倒序浏览
声明:转帖!本文出自CU的BSD版
提前声明:参考各软件官方网站以及众多网页的资料,深表感谢,不一一列出,请见谅!
目的:构建一个通过Apache的DAV扩展实现的SVN版本控制系统,支持Trac在线管理,以及简单的SVN操作
演示:http://trac.edgewall.org/(此处仅仅展示Trac在WEB体现的效果)
项目名称:test
项目目录:/home/www/svn/repository/test
管理用户:admin(读写)
测试用户:test(只读)
一、安装 Apache:
cd /usr/ports/www/apache22
make WITH_BERKELEYDB=db42 install clean;rehash
# SVN 会使用到 bdb4, 所以 apache 在此要一起装起来
# /etc/rc.conf加入apache22_enable=YES
二、安装mod_python
cd /usr/ports/www/mod_python3
make install clean;rehash
三、安装 Subversion
cd /usr/ports/devel/subversion
make WITH_SVNSERVE_WRAPPER=yes WITH_MOD_DAV_SVN=yes WITH_APACHE2_APR=yes install clean ;rehash
# 让 svn 支持 apache22 的 DAV_MODULES
四、安装 Trac
cd /usr/ports/www/trac
make install clean;rehash
cd /usr/ports/www/trac-webadmin/;make install clean;rehash
cd /usr/ports/www/trac-accountmanager;make install clean;rehash
五、初始目录设置:
# 设定 SVN 基本环境目录
mkdir -p /home/www/svn/repository/test                      # 路径自行决定后再更改即可
svnadmin create --fs-type bdb /home/www/svn/repository/test # svn 初始化
chown -R www:www /home/www/svn/repository
# 设定 Trac 基本环境目录
mkdir -p /home/www/trac/test/
trac-admin /home/www/trac/test initenv
chown -R www:www /home/www/trac
六、建立帐号和权限:
htpasswd -cm /etc/svn-auth-file admin           # 建立SVN帐号
htpasswd -m  /etc/svn-auth-file test            # 第二个以后的帐号记得不要 -c
htpasswd -D /etc/svn-auth-file username         # 删除用户
#/etc/svn-access-file:                         # 建立 SVN 权限控制文件
[/]
* = r
[test]
admin = rw
test = r
七、配置:
#/usr/local/etc/apache22/httpd.conf      # 设定 apache Auth 和 DAV
LoadModule authn_file_module libexec/apache22/mod_authn_file.so
LoadModule authn_default_module libexec/apache22/mod_authn_default.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule authz_user_module libexec/apache22/mod_authz_user.so
LoadModule authz_default_module libexec/apache22/mod_authz_default.so
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so
LoadModule dav_module         libexec/apache22/mod_dav.so
LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so
#/usr/local/etc/apache22/Includes/svn.conf      # 设定SVN@Apache
    DAV svn
#   SVNPath /home/www/svn/repository/test
    SVNListParentPath On
    SVNParentPath /home/www/svn/repository
    AuthType Basic
    AuthName "Feloo Subversion Repository"
    AuthUserFile /etc/svn-auth-file
    Require valid-user
    AuthzSVNAccessFile /etc/svn-access-file
                                       
#/usr/local/etc/apache22/Includes/trac.conf     # 设定Trac@Apache
LoadModule python_module libexec/apache22/mod_python.so
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv /home/www/trac/test
    PythonOption TracUriRoot /trac
    AuthType Basic
    AuthName "Feloo Trac Projects"
    AuthUserFile /etc/svn-auth-file
    Require valid-user
#/home/www/trac/test/conf/trac.ini
default_charset = gbk
[components]
acct_mgr.* = enabled
webadmin.* = enabled
七、测试:
1. Trac
trac-admin /home/www/trac/test permission add admin TRAC_ADMIN
tracd --port 8000 /home/www/trac/test
lynx http://ip:8000
中止
2. svn
svn import 本地目录 http://ip/svn/test -m "测试"
3. http
http://ip/svn/
http://ip/trac/    admin登陆设置Accounts: Configuration:HtPasswdStore:/etc/svn-auth-file
八、SVN基础操作:
1. 检出项目作为自己的开发副本 【检出】
目的:将服务器的项目文件拷贝到本地
命令:svn checkout http://server/svn/test/
例如:svn checkout http://ip/svn/test/
2. 更新 【更新】
目的:将服务器上更新的内容同步到本地
命令:svn update
说明:执行后,相关的状态如下:
U 更新成功
A 新增内容
D 已删除内容
R 内容被删除后重新添加过
G 合并服务器和本地更新的内容
C 服务器和本地更新不能自动合并,需要手工处理
3. 修改 【本地文件操作】【添加】【修改】
目的:对本地项目做出一定的修改,再commit时提交到服务端操作
命令:svn add|delete|copy|move 文件1 [文件2]
4. 检查修改 【检查更新】【差异】【还原】
目的:检查本地修改和服务器的差异
命令:
状态报告:svn status [文件] [-v]
差异对比:svn diff [文件]
还原内容:svn revert [文件]
5. 解决冲突【已解决的】
更新:svn update
文件名.mine
文件名.r上一版本号
文件名.r最新版本号
修改完成以后:
解决冲突:svn resolved 文件
6. 提交修改 【提交】
svn commit -m "更新说明"
九、附加信息:
SVN官站:
http://subversion.tigris.org/
SVN中文手册:
http://svnbook.red-bean.com/index.zh.html
TRAC官站
http://trac.edgewall.org/
SVN简介:
http://www.ibm.com/developerworks/cn/java/j-subversion/
TortoiseSVN官站:(Windows系统的与Explorer完美结合的svn客户端工具)
http://tortoisesvn.tigris.org/
TortoiseSVN中文手册:
http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html
其他信息:
http://www.baidu.com/s?wd=svn
http://www.google.cn/search?q=svn
http://search.cn.yahoo.com/search?p=svn
http://search.chinaunix.net/?q=svn
http://bbs.chinaunix.net/forumdisplay.php?fid=99


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/55904/showart_436842.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP