当前位置:文档之家› 用svn进行源代码管理 svn

用svn进行源代码管理 svn


启动svn服务
apache
svnserve
配置svn服务器(2)
建立windows服务
sc create svn binpath= "e:\Subversion\bin\svnserve.exe --service -r f:\code\svn" displayname= "Subversion Server" depend= Tcpip start= auto
删除windows服务
sc delete svn
配置svn服务器(3)
访问权限分配 初次导入
svn import
Apache(1)
修改http.conf
LoadModule dav_module modules/mod_dav.so LoadModule dav_svn_module modules/mod_dav_svn.so <Location /repos> DAV svn SVNPath /absolute/path/to/repository </Location> <Location /svn> DAV svn SVNParentPath /usr/local/svn </Location>
Any Question?
svn结构
版本库
版本库是svn文件共享的核心,它储存所有 的数据。按照文件树形式存储数据——包 括文件和目录。
版本模型
从版本0开始,版本库的快照。
文件共享的问题
所有的版本控制系统都需要解 决这样一个基础问题:怎样让 系统允许用户共享信息,而不 会让他们因意外而互相干扰? 版本库里意外覆盖别人的更改 非常的容易。 我们有两个共同工作者, Harry和Sally,他们想同时编 辑版本库里的同一个文件。如 果首先Harry保存他的修改, 过了一会,Sally凑巧用自己 的版本覆盖了此文件。而Harr y所有的修改不会出现在Sally 的文件中,所以Harry的工作 还是丢失了。
取出版本库到本地工作拷贝
svn checkout
更新你的工作拷贝
svn update
做出修改
svn svn svn svn add delete copy move
svn操作基本流程(2)
检验修改
svn status svn diff svn revert
合并别人的修改到工作拷贝
svn update svn reslove
Apache(2)
参考网址
暨南大学计算机系open talk组 /p/jnucsot/ / / / / /
为什么我们需要源代码管理?
代码回归 多人协作开发 版本发布
发布新版本时,不中止开发进程 有特殊版本时, 可以创建分支
不同版本具有相同的bug 时,进行修复 追踪变化 自动构建
什么是svn?
svn(Subversion)是个自由、开源的版本控 制系统 svn的版本库可以通过网络访问 svn不是软件配置管理(SCM)系统,而是一 个通用系统
分支与合并(2)
常见用例
合并一条分支到另一条 取消修改 找回删除的项目 常用分支模式
转换工作拷贝 标签 分支维护
svn客户端
Windows客户端(1)
Revision 23
/tags/xlands0.4/asguard/src/com/xlands/asguard/OutputWriter.java
文件共享:拷贝-修改-合并方案(1)
文件共享:拷贝-修改-合并方案(2)
合并模型假定文件是可以根据上下文合并的 文本文件
例如程序源代码。
对于二进制文件,可以采用锁定模型
如艺术品或声音,有必要采用锁定让用户轮流 修改文件。如果没有线性的访问,有些人的工 作最终要被放弃。
svn两种模型都支持
svn操作基本流程(1)
提交你的修改
svn commit
其它操作命令
检视历史记录
svn svn s除
svn cleanup
导入
svn import
分支与合并(1)
什么是分支 使用分支
创建分支 在分支上工作 分支背后的关键概念
在分支间拷贝修改
拷贝特定的修改 合并背后的关键概念 合并的最佳实践
文件共享:锁定-修改-解锁方案(1)
文件共享:锁定-修改-解锁方案(2)
锁定可能导致管理问题
如果Harry锁住文件后忘了此事,则Sally僵住。
锁定可能导致不必要的线性开发
Harry编辑一个文件的开始,而Sally编辑此文件 的结尾。本来不冲突,修改后合并即可。
锁定可能导致错误的安全状态
如果Harry锁住A,Sally锁住B,而两文件相互 依赖,则两文件不能很好地工作。
Revision 21
/trunk/src/com/xlands/asguard/OutputWriter.java
Revision 20
/tags/xlands0.4/asguard/src/com/xlands/asguard/OutputWriter.java
Revision 17
/trunk/src/com/xlands/asguard/OutputWriter.java
Revision 3
/trunk/src/com/xlands/asguard/OutputWriter.java
Windows客户端(2)
在eclipse中使用svn
配置svn服务器(1)
安装Subversion 建立版本库
通过命令行(svnadmin create) 通过GUI(tortoiseSVN)
用svn进行源代码管理
周敏(0734061009) coderplay@
本文档归暨南大学计算机系open talk组版权所有 遵循Creative Commons Attribution 2.5协议
摘要
为什么我们需要源代码管理?什么是svn? svn的基本概念与常用命令 分支与合并 怎么使用svn客户端? 怎么建立自己的源代码库? 怎么把svn建立在网页上?
相关主题