在软件测试中版本控制虽然是一门基本的实践性技术,但是许多人并不知道如何使用它,或者未能有效地利用它。这里与大家分享一下,以作为前事不忘,后事之师。
简单的说SVN是一个GPL版本控制软件,其创始人是从CVS项目中出来了,其目标就是替换掉CVS,SVN尽力维持CVS的用法习惯,并增加了一些很方便但CVS做不到功能,如目录改名等。笔者使用了两个月的SVN后,感觉SVN确实做到了。
SVN全名Subversion。SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。本文只讨论Windows的情况。其官方网站是:http://subversion.tigris.org(tigris是一个和sourceforge类似的开源网站,与sf不同的是,sf提供的CVS服务,而tigris提供的是SVN服务)。
我们把一个项目的一个主要开发过程称作开发主线。当某一个特殊事件发生的时候,例如,有一个用户有特殊的需求,于是就从这个开发主线里分离出来一个叉,以满足用户特殊的需求,那么这个叉有它自己的发展方向,这就是分支,就像是一个大树在春暖花开的时候,长出来的新枝。
作版本管理工作有一个多月了,总体来说我们二代证组的任务还是按照原定计划逐步实施着,同事们也很支持这项工作的实施。但是其中也存在着一系列这样或者那样的问题,这里就我个人的一些体会总结归纳了以下几点。
在没有使用版本控制的开发团体中,我所熟悉的一种常用开发方式是:多个开发人员共同负责一个软件的开发,每个人在各自的机器上有整个软件的拷贝,并对之实施编码,分别完成各自任务之后,再通过文本比对工具将各自机器上的不同版本的软件整合到一台机器上。本文就这样的开发方式,提出在软件开发中出现的几个和版本控制密切相关的典型问题(但未
如果我们有多个敏捷团队在同一个代码库上工作时,如何将彼此之间代码互相冲突的风险最小化?如何确保每个迭代结束时拥有一个干净的、可发布的软件版本?
一、两年前,我工作生涯的一个重要方面发生了变化。那之前我一直只在一台电脑上工作(更确切地说是只用一块硬盘),所有工作文件都保存在我的笔记本硬盘里。如果我要用另外一台桌面电脑,就通过文件共享操纵那些文件。
作版本管理工作有一个多月了,总体来说我们二代证组的任务还是按照原定计划逐步实施着,同事们也很支持这项工作的实施。但是其中也存在着一系列这样或者那样的问题,这里就我个人的一些体会总结归纳了以下几点。
我们需要一个简单的版本管理工具,比如Visual Source Safe。所有的代码都有了版本记录,我们可以查看代码的演进过程,对任何两个版本进行比较,也可以轻松的获取到早先的版本。