Subversion简介及项目仓库

Subversion发布后追随者与日俱增,短短时间就跃上了版本控制系统的首座。之所以这么受广大开发者和开发团队的欢迎,跟它无与伦比的简洁高效不无关系。Subversion这个项目是由一个具有丰富CVS经验的团队发起的,解决了CVS的众多致命缺点。

Subversion包含以下一些特点:对文件、目录和元数据记录版本;原子提交和改动集;出色的互联网支持;廉价的分支、标记和合并操作;真正的跨平台支持。

 

访问协议

在开始使用Subversion之前,有必要先了解下项目仓库的几种访问方式。Subversion支持文件(file:///c:/svn-repos/aladdin/trunk或file:///var/svnroot/aladdin/trunk)、svn(svn://localhost/aladdin/trunk)、ssh+svn、http(https://192.168.1.226/svn/aladdin/trunk)等协议。

采用svn://访问,需要启动svnserve服务:
# svnserve --daemon --root /var/svnroot
--daemon选项指定svnserve以后台进程模式启动,--root参数指定运行访问的项目仓库名。
如果svnroot下有一个名为"aladdin"的项目仓库,那么它的访问地址为:svn://localhost/aladdin

采用http(s)://访问,需要将web服务器和subvesion集成好。(linux+apache+subversion版本控制


创建项目仓库
# mkdir /var/svnroot
# svnadmin create /var/svnroot/aladdin

创建成功的话,进入/var/svnroot/aladdin目录,可看到conf、dav、db、hooks、locks以及format、readme.txt。

注:项目仓库创建完成后,为避免访问(如果你是通过http提供访问)权限上的错误,需要修改仓库目录所属用户及组。以svn+http(apache)组合为例,apache默认执行用户是daemon,所以应做如下权限设置:
# chown -R daemon /var/svnroot/aladdin
# chgrp -R daemon /var/svnroot/aladdin


创建初始项目
在Subversion项目仓库中基本上有三种创建目录(也就是项目)的方式:
1、把已有的源代码导入到项目仓库的目录中。
2、使用svn mkdir手工创建目录,直到你构建了一个想要的项目结构。
3、转换已有的源码仓库。有Subversion工具可以转换CVS、RCS、VisualSourceSafe以及Perforce的项目仓库。
第三种方式是一个很大的主题,互联网上也有很多专门的讨论。

自动导入
#svn import -m "importing Sesame project" /var/tmp/aladdin https://192.168.1.8/svn/aladdin/trunk
import关键字告诉subversion,将指定位置下的文件导入到项目仓库中。-m选项是给此次导入操作关联一条日志消息,说明此次操作的意图。/var/tmp/aladdin告诉subversion导入该目录下的内容到项目仓库之中。最后一个参数是项目仓库的URL,描述了要把文件导入到哪儿去。

手工创建
# svn mkdir -m "creating trunk" https://192.168.1.8/svn/aladdin/trunk
# svn mkdir -m "creating branches" https://192.168.1.8/svn/aladdin/branches
# svn mkdir -m "creating tags" https://192.168.1.8/svn/aladdin/tags

构建好目录结构后,可以按上面“自动导入”的方法,将你的源代码或资源文件导入到版本控制系统的项目仓库中。


删除项目仓库
# rm -rf /var/svnroot/aladdin


删除项目仓库中的目录或文件
# svn delete https://192.168.1.8/svn/aladdin/tags
# svn delete https://192.168.1.8/svn/aladdin/readme.txt

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值