软件开发工具(第12章: CVS的安装及使用)
一、CVS介绍
并发版本系统(Concurrent Versions System——CVS)是一个常用 的代码版本控制系统。
使用CVS可以对代码进行集中管理,记录代码所有的更改历史,提供 协作开发的功能并支持多人同时修改代码文件。
利用版本控制软件的好处(记忆)
- 随时将程序恢复到以前某一时间点。
- 实现程序的互斥性修改。能够实现某一程序在同一时间只能由一个开发人员修改。
- 对程序修改进行有效的管理。可以将用户分为管理员和程序员两种角色,只有管 理员可以将程序冻结(Freeze)和解冻(Unfreeze),被冻结的程序是不允许 修改的。
- 将开发环境与测试环境、运行环境进行有效的隔离。
- 评估软件开发人员编写的程序质量,控制软件开发的进度。
- 管理文档。使用者可以在版本控制中建立专门的文件夹,用于存放软件开发过程 中生成的各种文档。
二、常用版本控制软件
有哪些常用的版本控制软件(重点、记忆)
- Rational ClearCase(两控两管): ClearCase涵盖的范围包括版本控制、建立管理、工作空间管理和过程 控制;ClearCase支持现有的绝大多数操作系统。ClearCase安装、配置、使 用相对较复杂,需要进行团队培训。
- Visual SourceSafe(VSS):是一种很好的入门级的配置管理工具。易 学易用,采用标准的Windows操作界面。VSS提供共享、分支和合并功能,支持团队开发。 VSS只能在 Windows平台上运行,不能运行在其他操作系统上。VSS安全性不高。VSS的用户可以在文件夹上设置不可读、可读、可读 /写、可完全控制四级权限。VSS不收费,对用户的数目没有限制。
- CVS:是开放源代码软件世界的一个伟大杰作,简单易用、功能强大、 跨平台、支持并发版本控制,而且免费;其最大的遗憾就是缺少相应的技术支持,许多问题的解决需要使用者 寻找资料,甚至是读源代码。

三、CVS的安装与配置
CVS Control Panel 的设置(重点、记忆)
- 1)About页面提供了CVS产品的版本、来源以及服务状态等信息。
- 2)CVS资源库的设置。我们通过IDE对代码进行编辑,最终都要提交 到这个文件夹中。
- 3)Control Panel中的其余页。对于一般开发,使用默认设置即可。
CVS访问权限的设置(了解)
1、管理员账户:一般来说,给机器安装CVS的Windows系统管理员,也拥有CVS管理 员的权限。【更改和删除】
2、一般用户账户:一般用户账户不应该拥有管理员账户那么多的权限。
将软件载入CVS资源库(了解)
1)打开Eclipse的CVS Perspective, 创建一个新的CVS资源库连接。 鼠标右击CVS Perspective视图区域, 弹出快捷菜单,在New子菜单中选择 Repository Location…选项,在弹出 的窗口中进行相关设置。
2)回到Java视图,将项目载入CVS库中。 鼠标右击项目,在弹出的菜单中选择Team → Share Project。 在弹出的对话框中,可以进行一些信息的选择,包括CVS连接、提交时 的说明文字等。
提出(Check Out)
- 首先,我们要从CVS资源库中复制一个软件镜像到本机的workspace 中,在复制过来的这一时刻,代码和CVS上的代码是一致的。
- 然后,可以在这份代码的基础上进行修改,CVS能分辨出两者之间的 区别,当提交代码时,需要进行一些融合的工作。这项操作称为 Check Out。
代码同步(Synchronize): 如果想要将本地代码与资源库代码保持一致,就需要选择 Team → Synchronize with Repository。

1)更新本地文件(Update) 对于Incoming的文件,CVS资源库上的文件完全包含了本地文件的代 码,并拥有新的代码。用鼠标右键单击该文件,选择Update,这样就 将本地文件更新成与CVS一致的状态了
2)提交本地文件(Commit) 对于Outgoing的文件,本地文件包含了CVS上该文件的所有代码,并 且有新的代码添加,选择Commit命令,这样CVS上的文件就更新成本 地最新提交的版本了。
3)避免冲突(Mark as Merged) 如果存在冲突的文件,系统会对其进行更高安全性能的保护。 需要开发人员确认冲突已经排除之后,用鼠标右键单击该文件,选择 Mark as Merged命令,该命令标明文件已经过开发人员的验证,冲突 已经被避免。之后才可用Commit 命令进行提交

软件开发工具(第12章: CVS的安装及使用)的更多相关文章
- PSP个人软件开发工具需求分析文档
第一部分:前景与范围 1.业务需求 1.1 背景 在目前的软件项目开发过程中,进度计划总是非常不准确,经常出现延期,而且大多数都无法给出一个相对比较准确的延迟时间.即使使用用例包.用例的方式组织需求, ...
- PSP个人软件开发工具
(您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力. PSP个人软件开发工具 ...
- 你不得不用的MAC软件开发工具软件,个个万里挑一
作为软件行业,尤其是程序员,Mac上都不得不安装一些必备的MAC软件开发工具软件,下面给大家分享一些必装的MAC软件开发工具软件,以备日后之需,有备无患. 其中,包含各种语言的主流 IDE.开发辅助. ...
- ThoughtWorks、Teambition、Trello、Slack、DevCloud 主流敏捷软件开发工具平台比较
在大公司做了6年程序员,2年项目经理的小王,正在创业公司迎来他焦虑的而立之年. 但是对于3个月前加入创业公司的决定,他现在有些烦躁和怀疑人生.在他过往的经验看来,公司新接的小项目,在过去的大公司里1个 ...
- 全新的跨平台app软件开发工具——Lae软件开发平台
Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android ...
- 【转】软件开发工具介绍之 6.Web开发工具
[本文转自http://www.cnblogs.com/dusonchen/archive/2011/02/09/1739087.html ] 1.EditPlus 无论是编写xhtml页面,还是cs ...
- 软件开发工具——Make
掌握Makefile的使用方法和工作流程: 掌握make工具变量的相关知识,包括其引用.定义及分类等: 掌握Makefile常见的函数含义: 掌握Makefile与shell命令行的通信方法: 掌握M ...
- iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
CocoaPods是一款集合了上千个第三方开源库的开发工具,能够大幅度的提升团队项目的开发效率,降低时间成本. 那么就看一下CocoaPods这个工具在项目中的使用体现吧. 我们马上用ASIHTTPR ...
- 软件-开发工具:Gradle
ylbtech-软件-开发工具:Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明 ...
随机推荐
- 02 python 必知
一.变量 1.变量的定义 将程序运算的中间结果临时存在内存里,以便后续代码调用. 2.变量的使用规范 1)变量必须要有数字,字母,下划线,任意组合. 2)变量不能数字开头. 3)不能是python中的 ...
- 适合C++のOIer平日写题的开场模板
上面的#define还是较充足的,快读模板也有,freopen也提前打好了,比较适合OIer(C++)平时刷题和考试的开场. (纯原版仅供SJZEZのORZ队&AFO队使用) (您老把开头的注 ...
- 小白专场-多项式乘法与加法运算-python语言实现
目录 题意理解 解题思路 多项式加法 多项式乘法 完整代码 题意理解 题目: 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一 ...
- Java多线程(十三):线程池
线程池类结构 1.Executor是顶级接口,有一个execute方法. 2.ExecutorService接口提供了管理线程的方法. 3.AbstractExecutorService管理普通线程, ...
- (2)RapidJson的详解及使用
本节主要介绍RapidJson是如何使用的. (1)RapidJson是什么 RapidJson是一个跨平台的c++的json的解析器和生成器: 相比较jsoncpp库,RapidJson ...
- Android 网络通信框架Volley(一)
转自:http://blog.csdn.net/t12x3456/article/details/9221611 1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫 ...
- 阿里云 centos7 64位搭建JAVA环境-----安装mysql(1)
一开始用的是阿里云镜像市场的JAVA集成环境,但是配置了好长时间配置不成功.索性就换成了纯净系统从零开始搭建JAVA环境. 镜像:centos_7_04_64_20G_alibase_20170101 ...
- 解决在Filter中读取Request中的流后,后续controller或restful接口中无法获取流的问题
首先我们来描述一下在开发中遇到的问题,场景如下: 比如我们要拦截所有请求,获取请求中的某个参数,进行相应的逻辑处理:比如我要获取所有请求中的公共参数 token,clientVersion等等:这个时 ...
- centos7 下安装mysql5.7 数据库并使用nevicat连接数据库
安装mysql5.7的教程: https://www.cnblogs.com/yybrhr/p/9810375.html 遇到的问题: 无法连接,到阿里云服务器安全组设置3306端口
- SQLServer的网络协议
一.总结 1.SQL Server访问协议包括Shared Memory.Named Pipes.TCP/IP.VIA四种,多数应用系统都是通过TCP/IP协议访问数据库.安装数据库后需要启用TCP/ ...