SubVersion入门指南:风中叶解读

需积分: 10 9 下载量 25 浏览量 更新于2024-07-28 收藏 11.38MB PDF 举报
"深入浅出系列之二_SubVersion.pdf" 是一份由风中叶编写的关于SubVersion的中文学习资源,旨在帮助读者理解和掌握SubVersion这一版本控制系统。这份文档包含了SubVersion的基础知识、实战应用、高级操作以及与其他开发工具如Apache、Eclipse、NetBeans和VisualStudio.NET的整合。 SubVersion概述: SubVersion是一个开源的版本控制系统,它的出现为程序员提供了如同安全网般的保障。通过版本控制,开发者可以大胆尝试新功能,因为即使出错也能回退到已知的稳定版本。SubVersion支持本地和网络访问的存储库,处理文本和二进制数据,并具有对比、修补、标记、提交、回复和分支管理等功能。特别的是,它能追踪文件的移动和删除操作,提高了版本管理的灵活性。 SubVersion基本概念: 这部分可能涵盖了版本库(repository)、工作副本(working copy)、提交(commit)、更新(update)、冲突解决(conflict resolution)等核心概念。SubVersion中的每个项目都有一个中央存储库,开发者在自己的工作副本上进行修改,然后将更改提交到存储库。同时,SubVersion允许多个用户同时编辑文件,但可能会出现冲突,需要有机制来解决这些冲突。 SubVersion实战: 这部分内容可能包括了实际操作SubVersion的基本流程,如如何创建新的版本库,如何克隆现有的版本库到工作副本,如何进行文件的添加、删除、修改,以及如何提交和更新更改。此外,可能还会涉及如何查看文件的历史版本,以及如何处理和解决版本冲突的步骤。 SubVersion高级操作: 这部分可能涵盖更复杂的用法,如分支和合并(branching and merging),这允许开发团队在不影响主分支的情况下进行实验性开发。可能还包括标记(tagging)以创建特定版本的快照,以及如何处理二进制文件的版本控制策略。 SubVersion整合Apache: SubVersion可以与Apache服务器集成,提供Web访问版本库的功能。这部分可能详细讲解了如何配置Apache HTTP Server以支持Subversion,包括设置 dav_svn 模块,配置访问控制,以及通过HTTPS进行安全访问。 SubVersion整合Apache高级操作: 可能涉及更复杂的配置,如用户认证、权限管理、性能优化和故障排查等,确保SubVersion与Apache的协同工作更加高效和安全。 SubVersion整合Eclipse、NetBeans和VisualStudio.NET: 这部分内容可能涵盖了如何在这些流行的开发环境中集成SubVersion插件,如TortoiseSVN、Subversive或AnkhSVN,使得在IDE内部可以直接进行版本控制操作,如提交、更新、解决冲突等,提高开发效率。 后记: 通常这部分是对整个文档的总结,可能会包含作者的感想、使用SubVersion的建议或者未来版本控制技术的发展展望。 这份文档全面介绍了SubVersion的各个方面,是学习和掌握SubVersion的一个宝贵资源,适合软件开发人员、团队领导和任何需要管理代码版本的人群。
2010-05-16 上传
早在2000年,CollabNet, Inc.就开始召集开发人员开发CVS的替代品。CollabNet 提供一套名为SourceCast协同工作套件,其中的一部分组件是版本控制。虽然SourceCast使用CVS作为其最初的版本控制系统,但是CVS的种种限制从一开始就处处可见,最后CollabNet明白必须要找到一个更好的解决方案。不幸的是,至少在免费license中,因为没有更好的选择,CVS已经广泛成为了开源世界中事实上的标准。所以CollabNet决定开发一个新的版本控制系统,保留CVS的基本特性但去除CVS的bug和不好的特性。   在2000年2月,他们联系《使用CVS开发开源项目》(Open Source Development with CVS)(Coriolis, 1999)的作者Karl Fogel,并征求了他是否愿意在这个新的项目中担任一个角色。巧合的是,当时Karl已经和他的朋友Jim Blandy讨论了一个关于新的版本控制系统的设计。在1995年,这两人就成立了Cyclic Software,一个提供CVS的商业支持的软件公司。虽然他们经营商业服务,但是仍然在每天都在工作中使用CVS。使用CVS的挫折感使得Jim认真思考更好的方法来管理数据,不但确定名字为“Subversion”,而且完成了Subversion档案库的基础设计。   当CollabNet的电话到来时,Karl立即答应了加入项目中,而且Jim让他的雇主RedHat Software同意让他在这个项目中不定期工作。CollabNet雇用了Karl和Ben Collins-Sussman,并在5月开始了详细设计工作。在得到了来自CollabNet的Brian Behlendorf、Jason Robbins和Greg Stein(当时是一名活跃在WebDAV/DeltaV规范过程的自由程序员)很多创意的帮助下,Subversion很快地引起了一个活跃开发者社区的注意。它找出并欢迎很多同样在CVS上受到挫折的社员能来为这个项目做点什么。   Subversion 最初的设计Team定下了几个简单的目标。 它必须在功能上可取代 CVS,也就是说, 所有 CVS 可做到的事, 它都要能够作到。 在修正最明显的瑕疵的同时, 还要保留相同的开发模式。 还有, Subversion 应该要和 CVS 很相像, 任何 CVS 使用者只要花费少许的力气, 就可以很快地上手。   经过十四个月的编码后, Subversion 于2001年8月31日开始实现 “自行管理”。 也就是说, 开发人员不再使用 CVS 来管理 Subversion 的代码, 而以 Subversion 自己来管理。   从启动这个项目到现在,虽然CollabNet提供了大部分的资金(它付出几位全职 Subversion 开发人员的薪水), 但这还是个开源项目, 由一组松散透明的规则所约定。 CollabNet 拥有代码的版权完全符合 Debian Free Software Guidelines。 换句话说, 每个人都可以随意地免费下载、修改、以及重新发布 Subversion; 完全不需要经过 CollabNet, 或是任何人的允许。