自由、开源的版本管理系统

自由、开源的版本管理系统

ID:5650845

大小:1.93 MB

页数:51页

时间:2017-11-15

自由、开源的版本管理系统_第1页
自由、开源的版本管理系统_第2页
自由、开源的版本管理系统_第3页
自由、开源的版本管理系统_第4页
自由、开源的版本管理系统_第5页
资源描述:

《自由、开源的版本管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、自由、开源的版本管理系统南京大学软件学院200911Subversion简介2版本控制的基本原理3Subversion基础4Subversion基本工作流程及基本操作CheckOut,Commit,Update,Status5Subversion高级操作Branch/Tag,Merge6Subversion其他操作(演示)7常见Subversion的GUI客户端使用(演示)内容简介1Subversion简介Subversion的作用Subversion的历史Subversion的特性Subversion的架构Subversion的作用一个自由,开源的版本控制系统一个通

2、用系统,不是简单的一个SCM系统以替代CVS为目标可以管理任何类型文件,并且追踪变更不具有某些和开发紧密结合的特性,如支持某种特定的编程语言,集成构建工具等应用:版本管理,网络硬盘??网址:http://subversion.tigris.orgSubversion的历史2000年,CollabNet公司开始寻找CVS的替代产品2月,这个公司联系了OpenSourceDevelopmentwithCVS的作者KarlFogel,他同意为这个项目工作。同时,他还联系了其他几个人一起开发这个新系统3月,Subversion开始详细设计和编码2001年8月31日,Subve

3、rsion第一个完整版本问世经过1.0,1.1,1.2直到现在的1.4.3版Subversion的特性(和CVS比较)和CVS的相似性目录的版本化更加好的文件版本管理(例如对文件拷贝,重命名的处理)提交的原子性元数据的版本化可选的网络层对文本文件和二进制文件一致的差异比较算法高效的分支(branch)和标签(tag)操作良好的可维护性Subversion的架构2版本控制的基本原理客户/服务器架构的版本控制简述版本控制的数据共享模型数据共享的问题锁定-修改-解锁方案拷贝-修改-合并方案冲突及解决两种方案的对比及选择Subversion的实现客户/服务器架构的版本控制版本

4、库(Repository):按照一定格式存储了所有数据,包括文件和目录经过授权的客户端可以连接到版本库,读写库中的文件版本库和普通文件服务器的不同:版本库会记录每一次的更改,所以,客户端可以任意查询更改的历史。例如:ApplicationContext.java的1451版和1450版相比修改了什么?谁作的修改?什么时候作的修改?等等版本控制数据共享模型版本控制系统的核心任务:协作编辑和数据共享基础问题:怎样允许用户共享信息,并且不会因意外而互相干扰?数据共享问题的产生解决办法数据共享问题解决方案1——锁定-解锁方案锁定-解锁方案的问题可能导致管理问题,如长期锁定文件

5、不放会导致不必要的顺序开发可能导致死锁例如Sally和Harry都需要修改plugin_mgr.c和plugin_mgr.h,两者互相关联,Sally锁定了.c文件而Harry锁定了头文件,就会进入死锁状态解决方案2——拷贝-修改-合并方案(续图……)冲突(Conflict)及解决(Resolve)冲突的产生:冲突是随着拷贝-修改-合并方案的产生而带来的问题。两个开发者使用拷贝-修改-合并方案编辑同一个文件,并且两人的修改发生了交叠时就发生了冲突冲突的解决:当冲突发生时,开发者会看到一对冲突的修改结果,通常情况下,必须让引起冲突的两个人商议之后,手动选择保留一组更改。

6、在这里,版本控制系统只能提示冲突的发生而无法给出解决建议冲突的预防:增加开发者的交流可以最大限度减少冲突的发生,但是不可能杜绝冲突后面可以看到冲突的具体例子以及解决办法两种方案的对比及选择虽然锁定-解锁方案有很多的弊端,但在一些情况下仍然是必须的;虽然拷贝-修改-合并模型能解决大多数问题,但它也不是万能的比较:文本文件和二进制文件的特点选择:拷贝-合并模型假定文件是可以通过上下文合并的。通常情况下,文本文件(例如源代码以及用纯文本,HTML,TeX等格式保存的文档)因为其内部结构直观可知,容易理解上下文,所以用拷贝—合并方案较好。而二进制文件(例如用Microsoft

7、Word格式,PDF等格式保存的文档及图片,声音,可执行文件,库等)内部结构复杂,且不容易理解更改处的上下文,采用锁定-解锁方案较好Subversion的实现Subversion主要采用拷贝-修改-合并模型,配合锁定-解锁模型管理数据的共享3Subversion基础基本概念工作拷贝(WorkingCopy)修订版本(Revision)文件状态混合修订版本的工作拷贝工作拷贝(WorkingCopy)工作拷贝是本地机器的一个普通的目录。这个目录的内容是版本库中某个目录的拷贝。工作拷贝是私有工作区,可以任意编辑里面的文件并且发布更改通常,一个工作拷贝对应于

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。