免费注册 查看新帖 |

Chinaunix

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

我的linux编程之旅-配置svn [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-08 21:10 |只看该作者 |倒序浏览

       
       
       
       
       
       
  
转眼5月份了,时间不知不觉就过去了,明天要去学校拍毕业照了。可能是大家最后一次聚在一块了。还差5个月就09年了。一切都过得这么快。从这个月开始学linux下c编程了。已经没有时间再等下去了。昨天架了下svn服务器,今天把linux系统管理方面的知识理一下。明天去图书馆借本书,就开工吧。争取一天发一篇总结,以示督促吧。
debian下架设apache+svn服务器
**
安装
单机的Svn,用svnadmin建立一个仓库,然后用svn的相关命令来操作。访问方式为file://
apt-get
install subversion subversion-tools
svnadmin
create /home/svnCore 建立一个仓库
svn
import /home/Work/python file:///home/svnCore  将/home/svnCore导入到仓库中

**
apache svn
安装apache2,libapache2-svn
先添加一个组svnUser,然后将www-data加到这个组中,www-data就是apache的用户。
因为是要从浏览器访问svn仓库,所以www-data是一定要加入到svnUser中去的。
然后建立仓库
svnadmin
create  /home/svnCore/Project
设置Project权限
chgrp
-R  svnUser /home/svnCore/Project
chmod
-R g+rws  /home/svnCore/Project
就是允许svnUser组的成员可以对svn目录进行读写
设置apache的配置文件
emacs
/etc/apache2/mods-available/dav_svn.conf
  #这里是虚拟目录名称
  DAV
svn
  SVNPath
/home/svnCore/Project #这个是仓库所在位置
  AuthType
Basic  #认证类型
  AuthName
"Subversion Repository"
  AuthUserFile
/etc/subversion/passwd     #访问仓库的密码验证文件
    #这三行允许匿名访问
    Require
valid-user
  
在配置文件中要指明通过Web访问的目录和Svn仓库路径,同时要设置验证文件
下面生成验证文件
新建一个密码文件,用户名是hkcat,
-c代表如果不存在就新建
sudo
htpasswd -c /etc/subversion/passwd hkcat
然后sudo
/etc/init.d/apache2 restart
现在可以用firefox访问一下http://localhost/svn/Project
看看能不能打开
导入一个项目
svn
import -m "svn test" ~/Learn/python
http://localhost/svn/Project
网上有好几篇apache+svn的文章了,原理其实就是用svn建立一个仓库,然后就是在apache中svn的模块中配置下虚拟目录和仓库位置及访问方式。
**
项目管理两种模式:
一个仓库一个项目:
  
缺点是比较麻烦,比如在apache中,每加一个项目都要配置个虚拟目录和权限。优点是单个仓库中单个项目容易管理.
一个仓库多个项目:
  
缺点是该仓库中的每个项目的版本是随着总仓库更改而递增的,而不是自身项目改变的版本。优点是比较简单吧,所有的项目都放一块了,便于管理。而且在apache中也比较容易配置。会show
log时会发现版本从1一下子到5,其它这是整个仓库改变的版本,而不是当前这个目录改变的版本。第一次用svn时,有一次提交。就发现版本号一下子跳上去了。当时,还以为把公司的代码弄乱了,呵呵,后来还是主管告诉我这点的。
最后决定
建立3个仓库
config
   
保留配置文件的版本。这样修改.fvwm2rc和.emacs就方便多了。还有其它的配置文件都可以控制了。这里采用一库多项目的形式,因为配置文件的修改只要求日志就行了。不需要对版本太过关心的。再加上配置文件多而杂,没必要建很多个虚拟目录的。
LearnProject
   
这里主要对一些练习程序进行版本控制,还是采用一个仓库对应多个项目的方式。还有一些对开源项目的代码分析也放这里吧。
Project
   
这里主要是一些自己的项目了,采用一个仓库对应一个项目的方式,这样便于管理,而且也比较清晰。虽然每新增一个项目要加个虚拟目录,但其实也没几个自己的项目的,呵呵。
**
emacs里面操作svn
checkout还不知道用什么命令
都要在含有.svn的目录下面使用,所以需要手工的svn
checkout
C-x
v v checkin ,按第二下的时候会要求输入注释。注释输入结束按C-c
C-c 提交
C-x
v =  比较功能,显示当前和仓库里的不同
C-x
v u   更新工作拷贝,放弃当前的修改
C-x
v d 打开工作目录,
vv 在dired下面提交
C-x
v l 显示更改日志
C-u
C-x v = 不同版本的比较
C-x
v ~  显示指定版本
M-x
vc-update 更新
M-x
vc-resolve-conflicts 调用ediff修改冲突文件
也可以用命令
M-!
svn resolved test1.c 修改冲突,去掉那些标记
其它插件
psvn
http://www.xsteve.at/prg/emacs/psvn.el 暂时还没实验。
记笔记就采用muse吧,本来想用wikidpad的,个人比较喜欢他在笔记中穿插todo和action的概念,,感觉这种设计很棒,但可惜对输入法支持一直有问题。
前阵子,因为/没多少空间了,懒得整理,直接format了。后来装了下ubuntu
7.10。安装和使用的过程全都很简单呵呵,难怪这么流行。irc上#ubuntu-cn的人总有那么多。能把linux做得那么易用,也确实有水平。但可惜,我机子适乎不喜欢ubuntu,开个vbox运行个xp就卡的要命了。打开oo又那么慢。没办法。只好重回fvwm。重回我的debian。貌似我是与gnome和kde无缘了。什么时候弄个slackware耍耍,不过每个软件包都要编译呵呵,也确实太累了。
先到这吧,明天去图书馆借本书,开始我的linux编程之旅。
为梦想努力吧,一切都会好起来的。
               
               
               

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP