推荐《Version Control with Subversion》

      《Version Control with Subversion》是一本subversion的手册,同时也是一本不错的入门书。

        这本书的一个特点是免费、可在线下载、不断更新。书本身也是用subversion这个工具来维护着它的版本的,这确实很好:可允许多人编辑、各人提交,然后演变到下一版本。我看的版本是r4331的。

        手册的原则是易懂。书中首先简单介绍subversion里用到基本概念:如repository、working copy、subversion的copy-modify-merge模式、revision、subversion的常见操作等。接着第二章描述subversion在日常使用的流程:基本上就是check out、update、modify、difference、commit、resolve conflicts。跟着第三章进一步讲解高级点的东西:包括revision在命令里的表示方式(除了可用数字表示之外,还可用日期)、revision又可分为peg revision和operative revision(这个peg revision,除非是比较刁钻的使用者,常人一般都用不上)、可附在repository里的各种目录或文件上的properties(目录和文件有版本演化的记录,而附在它们上面的properties同样也版本演化的记录。properties主要是用来描述目录或文件的一些性质,如文件的content-type,此外,subversion里的一些高级功能也要借助properties来实现)、文件的上锁、subversion的客户端的隐私数据的存放等。第四章着重讲述开发人员都常碰到的Branching和merging,自己在工作上的merging大多是利用Beyond Compare逐个文件对比来完成的,即使是subversion提供了merge的命令,但总怕漏掉了些东西。其中,书中提到vendor branches很不错,说的是在开发的过程中需要用第三方的开源库,而又想对该库进行定制,同时又想保持与up stream的同步,就可在开发的trunk里建个目录用来存放自己对该库的定制代码,同时另建个branch来存放该库的源码(这个branch就称为vendor branch)。每当该库有新版出来后,就可将新版本的代码在合并到该库对应的vendor branch里,然后再将vendor branch里的修改merge到trunk里去。第五章是教一个subversion管理员如何管理repository的;而第七章是教授如何对subversion的客户端进行定制以适合自己的口味。第六章详细讲解了如何在服务器端配置、启动subversion,包括svnserve、apache http(s)等方式。其中svnserve的启动方式又可有多种:如手动在后台启动、用inetd启动、通过SSH来启动、在windows平台的话可将svnserve作为服务来启动、在Mac OS X平台的话可将svnserve作为lauchd job来启动。Apache的配置要比svnserve要复杂点,不过应该也复杂不了多少,虽然我没弄过。第八章就是面向开发人员的,讲解subversion里的各模块、开放的接口,以便让人开发类似Tortoise SVN的软件。

       除了第五和第八章外,全书匆匆看完,subversion的初级、中级、高级的用法都介绍了一遍了,如果想更进一步了解subversion里的工作细节和学习其软件架构,就需要阅读源代码了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Subversion进行版本控制针对 Subversion 1.4(根据r2866编译) What Is Subversion? Subversion is a free/open source version control system. That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.” Subversion can operate across networks, which allows it to be used by people on different computers. At some level, the ability for various people to modify and manage the same set of data from their respective locations fosters collaboration. Progress can occur more quickly without a single conduit through which all modifications must occur. And because the work is versioned, you need not fear that quality is the trade-off for losing that conduit—if some incorrect change is made to the data, just undo that change. Subversion是什么? Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。 Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。 某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值