ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:1.12MB ,
资源ID:12021542      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12021542.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于CVS的版本控制系统服务器安装与维护毕业论文.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于CVS的版本控制系统服务器安装与维护毕业论文.docx

1、基于CVS的版本控制系统服务器安装与维护毕业论文 毕 业 设 计 论 文题 目:基于CVS的版本控制系统服务器安装与维护学 院: 电气与信息工程学院 专 业: 电子信息工程 姓 名: 学 号: 指导老师: 完成时间: 2013年5月30日 摘要随着软件行业的蓬勃发展,工业设计、商业开发越来越离不开软件系统的支持和运作,软件系统不单单是提高了工业系统的工作效率,更重要的是它大大节省了项目成本,降低了项目风险,提高了项目运算的精细程度,增强了企业管理效益。所以说,作为一款具有纽带作用的版本控制系统CVS,不仅仅是互联网从业者的必修课,也是工科类从业者必须了解的范畴。详细叙述中渗透CVS的专业术语、

2、命令语句。在安装与维护的叙述中,主要是以安装CVSNT(Windows环境下的CVS服务器)和WinCVS(Windows环境下的CVS客户端)来实战叙述设计中的每一步。一方面使自己掌握CVS版本控制系统的安装与维护使用,另一方面,使自己真正从设计中学习到知识技能。本设计主要完成了CVS的版本控制系统的安装与维护,详细讲述CVS版本控制系统的由来、基本概念、工作模式、工作原理,以及CVS版本控制系统在Windows环境和Linux环境下的客户端和服务器配置方法,并完成了CVS版本控制系统在项目中的实践应用。关键词:安装与维护,CVS,CVSNT,WinCVS,服务器,CVS命令Abstract

3、With the development of the software industry, industrial design, commercial development is becoming more and more cannot do without the support and operation software system, software system not only improves the industrial efficiency of the system, the more important is that it saves the project c

4、ost, reduce the project risk, improve fine degree project operation, enhances the enterprise management efficiency. So, as a link between the version control system CVS, not only is a compulsory course in the Internet practitioners, but also engineering practitioners must understand the category.Thi

5、s design is mainly and maintenance of CVS version control system based on the origin, installation, details about the CVS version control systems basic concept, working mode, working principle, as well as the CVS version control system in Windows environment and Linux environment of the client and s

6、erver configuration method.Of course, in the details gradually penetrate professional terminology, command of some CVS. In the installation and maintenance of the narrative, the main is to install the CVSNT (Windows environment, CVS server) and WinCVS (Windows environment under the CVS client) to co

7、mbat the narrative for each step in the design of. On the one hand, let oneself really learn from the design to the actual combat skills and knowledge, on the other hand, with the CVS version control system can refer to the installation and maintenance manual to want to quickly learn, learning the C

8、VS version control system colleagues.Keywords: installation and maintenance, CVS, CVSNT, WinCVS, server, CVS command目录摘要 IAbstract II目录 III1 绪论 11.1研究背景与目的 11.2 课题设计的意义 11.3课题国内外研究状况 21.4课题研究方案比较 31.5论文的结构 32 基于CVS的版本控制系统介绍 52.1 什么是CVS 52.2 CVS的基本概念 52.3 CVS的工作模式和工作思路 62.4 CVS代码的集中配置与调整 72.5 CVS的典型功

9、能 83 Windows下CVS服务器与客户端的配置 103.1 Windows下CVS服务器的配置 103.2 Windows下CVS客户端的配置 133.2.1 配置WinCVS 163.2.2 登录WinCVS服务器 173.2.3 新建模块 173.2.4 Checkout模块 183.2.5 update和commit文件 183.2.6 Add文件 183.2.7 Remove文件 193.2.8 Remove空目录 194 Linux下CVS服务器与客户端的配置 204.1 Linux下CVS服务器的配置 204.1.1 创建cvs组并加入用户 204.1.2 创建一个仓库 20

10、4.1.3 装入源代码 204.1.4 设置权限 214.1.5 设置开机自动运行CVS 224.2 Linux下CVS客户端的配置 234.2.1 连接CVS服务器 234.2.2 登录CVS服务器 244.2.3 拷贝相应模块代码并进行开发 245 项目中CVS的版本控制 255.1 将项目提交到CVS服务器 255.2 将项目下载到CVS客户端 255.3 将更改的项目提交到CVS服务器 265.4 将CVS服务器中的更改更新到CVS客户端 265.5 版本控制系统服务器安装与维护注意事项 276 CVS版本控制系统的开源化 286.1 CVS开源方向 286.2 CVS与Araxis

11、Merge配套使用 286.3 CVS与Eclipse配套使用 29结论 30致谢 31参考文献 32附录 33附录A:CVS中常用专业术语 33附录B:CVS工作拓扑图及CVS客户端和服务器界面 341 绪论1.1研究背景与目的一个项目往往有多人参与,如何协调各个人的开发工作,就成为项目开发小组需要直接面对的问题。一般的解决方案是采用版本控制系统,如微软的VSS,开源的CVS以及Subversion等等。Eclipse对团队开发提供了默认的支持,其内置了CVS的客户端。所以我们只需安装一个CVS服务器端就可以进行项目开发的版本控制了。在这次毕业设计中我选择了windows平台下的cvsnt来

12、作cvs服务器。随着软件团队人员的增加,软件版本不断变化,时间的紧缺,多种平台的复杂环境,使得版本控制软件已成为当今软件开发人员(工程人员和管理者)所必须的工具。CVS采用典型的Client/Server 结构,开发团队能够跨越网络跨平台进行分布式操作。在软件开发环境中,CVS 自动追踪每一种对象类型(包括源代码、二进制文件、目录内容、可执行文件、文档、测试包、编译器、库文件)等变更情况,通过分支和归并功能支持并行开发。直接解决了原来开发团队所面临的难以处理的问题。在各种具体方案应用之前,安装和配置 CVS 服务器,并学会简单的使用是第一要务。本设计就CVS的安装配置和简单使用做一介绍,并对C

13、VS在项目应用中做基础的工程实践。1.2 课题设计的意义CVS(Concurrent Versions System)版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。Concurrent有并发的、协作的、一致的等含义。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型。CVS用Copy-Modify-Merge(拷贝、修改、合并)变化表支持对文件的同时访问和修改。它明确地将源文件的存储和用户的工作空间独立开来,并使其并行操作。CVS基于客户端/服务器的行为使其可容纳多个用户。这一特

14、性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。所有重要的免费软件项目都使用CVS作为其程序员之间的中心点,以便能够综合各程序员的改进和更改。这些项目包括GNOME、KDE、THE GIMP和Wine等。 所以说关于CVS的版本控制系统的安装与维护具有诸多意义,例如:修改软件时可能会不知不觉混进一些bug,而且可能过了很久你才会察觉到它们的存在。有了CVS,你可以很容易地恢复旧版本,并从中看出到底是哪个修改导致了这个bug。有时这是很有用的。CVS用一种聪明的办法把一个文件的所有版本保存在一个文件里,仅仅保存不同版本之间的差异。CVS最初由Dick Grune在

15、1986年12月以shell脚本的形式发布在 comp.sources.unix 的新闻组第 6 卷里;1989年4月,Brian Berliner设计了CVS并编写了代码。之后Jeff Polk帮助Brian设计了CVS模块和销售商分支支持。CVS不能指导你如何构造什么。它只是将你所设计的一种树结构文件保存下来以备恢复之用。CVS不能决定如何在一个检出工作目录使用磁盘空间。如果你在每一个目录中都写下Makefile或脚本,且必须知道其它一切的相对位置,有时不得不检出整个仓库。CVS如果你将你的工作模块化,并且建立了一个共享文件的build系统(通过links,mounts,Makefiles

16、 里的VPATH等),你就可以随意安排磁盘的使用。CVS你应该在CVS下放一个工具来支持这样一个构造系统(脚本、Makefile 等等)。CVS有些变化发生在CVS范围之外时,要想想什么文件需要重建。一个传统的方法是用make来构造,并用一些自动化的工具来产生make所用的相关文件。1.3课题国内外研究状况目前业界主流的版本维护工具有ClearCase、Visual Source Safe以及本设计将要详细介绍的CVS,下面逐一进行简要介绍。1)ClearCaseClearCase 由Rational 公司开发,它支持UNIX 系统,混合平台开发,除了支持图形界面以外,还支持命令行格式的操作。

17、它是一种功能强大、复杂的软件配置管理工具,版本控制是该软件的主要功能之一。ClearCase 包括两套:ClearCase LT 和ClearCase(MultiSite)。前者可以用于在同一个局域网的开发小组,适合于中小型开发组织;ClearCase(MultiSite)则适应于分布于不同地理位置、不同局域网的开发小组,适合于大型的开发组织。ClearCase LT 由ClearCase LT Server 和ClearCase LT Client 两个部分组成,其中服务器部分负责数据的集中管理;客户端部分则安装在各个需要使用ClearCase 服务的机器上,以及主要开发人员的计算机上,属于

18、典型的Client/Server 结构。2)Visual SourceSafeVisual SourceSafe 是微软公司开发的版本控制系统,可管理软件和 Web 站点的开发。Visual SourceSafe 可以处理由各种开发语言、创作工具或应用程序所创建的任何文件类型。与CVS 相比,Visual SourceSafe 的最大特点是用户可以同时在文件和项目级进行工作。Visual SourceSafe 面向项目的特性能更有效地管理工作组应用程序开发或 Web站点开发工作中的日常任务。3)CVSCVS是自由软件社区最流行的版本控制系统,为BSD(FreeBSD,NetBSD等)和许许多多

19、大大小小的软件项目所采用。CVS 是并行控制系统的缩写,这是一个将一组文件放在层次目录树中以保持同步的系统。与前述的两个商业软件不同,CVS 是开放源代码的版本控制系统。但作为许多开放源码项目选用的版本管理软件,CVS 在版本控制方面与前两者相比并不逊色,可以说是各有千秋。在代码管理上,与上述的两种商业版本控制软件的unlock-modify-lock 的模式不同;CVS 采用的模式是copy-modify-merge 的模式,在实际应用中,理解这一模式与其他模式的区别,才能更好的制定日常的维护和操作的准则。1.4课题研究方案比较关于CVS的版本控制系统服务器安装与维护,在安装与维护的系统层面

20、上来说,目前比较广泛流行的操作系统有Windows和Linux。1)CVS在Windows系统上的安装与维护Windows系统作为目前全球市场份额最多的操作系统,有着无与伦比的优势和大众化性能。在工业设计、工业开发上,Windows可视化界面降低了开发门槛和技术难度。就本设计来说,无论是在Windows系统上搭建CVS平台,还是在Windows系统上操作控制CVS平台及服务器,都大大降低了难度。2)CVS在Linux系统上的安装与维护相比Windows系统,Linux系统的不可视化使得Linux本身在使用上就困难重重,必须学习相关语言命令,才能很顺畅的操作Linux系统进行日常工作。从这一点上

21、来讲,Linux系统并不太适合本设计的课题研究。1.5论文的结构本文主要由六个章节组成:第一章 主要阐述了本文研究的主要背景和目的,以及课题设计的意义,综合概括了国内外课题研究现状。第二章 主要围绕CVS的基本概念,工作模式,工作思路,以及CVS的集中配置调整,来叙述CVS的基本功能以及要使用到的专业术语。第三章 主要详细展示Windows环境下CVS服务器与客户端安装与配置方法。第四章 主要详细展示Linux环境下CVS服务器与CVS客户端安装与配置方法。第五章 主要演示了在搭建好的CVS服务器环境和客户端环境下项目中CVS版本控制的应用。第六章 主要阐述了CVS版本控制系统的开源化对于协同

22、工作,或者对于大型软件系统开发的影响,以及介绍了两款与CVS版本控制系统配合使用的软件。2 基于CVS的版本控制系统介绍2.1 什么是CVSCVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。与它相类似的代码版本控制软件有Subversion。2.2 CVS的基本概念1)Repository(仓库)CVS 的仓库存储全部的版本控制下的文件copy,通常不容许直接访问,只能通过cvs命令,获得一份本地copy,改动后再check in(commit) 回仓库。而仓库通常

23、为与工作目录分离的。CVS通过多种方式访问仓库。每种方法有不同目录表示形式。数据如何存放在repository中:随着CVS版 本的不同,存放结构会发生变化,一般情况下用户无需了解数据到底是如何存放的。2)Revision(修订版)每 一个file的各个revision都不相同,形如1.1, 1.2.1,一般1.1是该文件的第一个revision,后面的一个将自动增加最右面的一个整数,比如1.2, 1.3, 1.4.有时候会出现1.3.2.2,原因见后。revision总是偶数个数字。一般情况下将revision看作时CVS自己内部的一个编号,而tag则可以标志用户的特定信息。3)Tag(标签

24、)用符号化 的表示方法标志文件特定revision的信息。通常不需要对某一个孤立的文件作tag,而是对所有文件同时作一个tag,以后用户可以仅向特定tag的 文件提交或者checkout。另外一个作用是在发布软件的时候表示哪些文件及其哪个版本是可用的;各文件不同revision可以包括在一个tag中。 如果命名一个已存在的tag默认将不会覆盖原来的;4)Branch(分支)当用户修改一个 branch时不会对另外的branch产生任何影响。可以在适当的时候通过合并的方法将两个版本合起来;branch总是在当前revision后面加上一个偶数整数(从2开始,到0结束),所以branch总是奇数个

25、数字,比如1.2后面branch为1.2.2,该分支下revision可能为 1.2.2.1,1.2.2.2,.5)Conflict(冲突)完全是纯文本的冲突,不包含逻辑上的矛盾,比如CVS不能解决如下问题:某人修改了函数f的参数,而另外一个人在另外一个地方用老的参数调用该函数。文本冲突需要用户自己参与解决,CVS无法自动解决。6)Module(模块)CVS服务器根目录下的第一级子目录。通常用于存放一个项目的所有文件7)Check out(检出)通常指将仓库中的一整个模块首次导出到本地。8)Check in(导入)通常指通过提交整个目录结构并创建一个新的模块。9)Release(发行版本)整个

26、产品的版本10)Update(更新)从模块中下载其他人的修改过的文件。更新本地的拷贝。11)Commit(提交)将自己修改过的文件提交到模块中。2.3 CVS的工作模式和工作思路CVS(Concurrent Versions System)版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。Concurrent有并发的、协作的、一致的等含义。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型。CVS用Copy-Modify-Merge(拷贝、修改、合并)变化表支持对文件的同时访问和修改

27、。它明确地将源文件的存储和用户的工作空间独立开来,并使其并行操作。CVS基于客户端/服务器的行为使其可容纳多个用户。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。所有重要的免费软件项目都使用CVS作为其程序员之间的中心点,以便能够综合各程序员的改进和更改。这些项目包括GNOME、KDE、THE GIMP和Wine等。在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。由源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后用户可以在本地任意修改,最后用CVS命令进行提交,由CVS源代码库统

28、一管理修改。这样,就好像只有一个人在修改文件一样,既避免了冲突,又可以做到跟踪文件变化等。CVS是并发版本系统(Concurrent Versions System)的意思,主流的开放源码网络透明的版本控制系统。CVS对于从个人开发者到大型、分布团队都是有用的。它的客户机/服务器存取方法使得开发者可以从任何因特网的接入点存取最新的代码。它的无限制的版本管理检出(check out:注1)的模式避免了通常的因为排它检出模式而引起的人工冲突。它的客户端工具可以在绝大多数的平台上使用。CVS被应用于流行的开放源码工程中,像Mozilla,GIMP,XEmacs,KDE和GNOME等。那么它到底怎么样

29、?你可能会说,它非常棒,但是对于我来说它能做什么?首先,基本的 :一个版本控制系统保持了对一系列文件所作改变的历史记录。对于一个开发者来说,那就意味着在你对一个程序所进行开发的整个期间,能够跟踪对其所作的所有改动的痕迹。对你来说,有没有出现过由于在命令行上按错键而导致一天的工作都白费的情况呢?版本控制系统给了你一个安全的网络。版本控制系统对任何人都有用,真的。(毕竟,谁不愿意使用一个安全的网络呢?)它们经常被软件开发团队使用。在团队中工作的开发者需要能够调整他们的各自的修改;一个集中式版本控制系统允许那样做。2.4 CVS代码的集中配置与调整个人开发者希望一个版本控制系统的安全网络能够运行在他

30、们的本地的一台机器上。然而,开发团队需要一个集中的服务器,所有的成员可以将服务器作为仓库来访问他们的代码。在一个办公室中,没有问题 -只是将仓库连到本地网络上的一台服务器上就行了。对于开放源码项目噢, 还是没有问题,这要感谢因特网。CVS内建了客户机/服务器存取方法,所以任何一个可以连到因特网上的开发者都可以存取在一台CVS服务器上的文件。在传统的版本控制系统中,一个开发者检出一个文件,修改它,然后将其登记回去。检出文件的开发者拥有对这个文件修改的排它权。没有其它的开发者可以检出这个文件- 并且只有检出那个文件的开发者可以登记(check in:注2)所做的修改。(当然对于管理员有很多方法可以

31、超越这个限制。)想一下排它的检出可能会如何工作:Bob的兄弟检出 foo.java以便加入注释,写好代码后他什么也没做。然后他去吃午饭了。Bob吃完午饭后,发现他的老板所指给他的一个bug在 foo.java里。他试图检出 foo.java 但是版本控制系统不允许他这样做,因为他的兄弟已经把它检出了。Bob不得不等着他的兄弟吃完午饭回来(在这个好日子用了两个小时),他才可以修正bug。在一个大型的开放源码工程中,因为开发者可能在任意的时区工作得很晚,给予一个开发者阻止任意地方的其它开发者继续处理任意文件的能力很明显无法运转。他们最终将因为不能够在他们想要的时候开展项目而感到厌烦。CVS通过它的

32、无限制的检出模式解决了这个问题。检出一个文件并不给定开发者对那个文件的排它权。其它的开发者也可以对其检出,进行他们自己的修改,并且将其登记回去。详细地回答就是当多个开发者对同一个文件作了修改CVS会检测,并且自动合并那些改变。不用担心,CVS会很小心,并且将会自动合并那些只要不是对代码的同一行所作的改动。如果CVS不能安全的处理这些改动,开发者将不得不手工合并它们。有大量在许多平台上可用的CVS附加工具,它们给CVS增加了功能或使得CVS更容易使用。2.5 CVS的典型功能1)替代管理你的经理和项目负责人应经常与你交流以确保你时时记得进度表、合并点、分支名和发布日期。如果他们不这样做,cvs 也没用。cvs 只是一个用来使你的资源与你的步调一致的工具。但你是风笛手和作曲家

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1