00014.使用cvsnt与wincvs实现cvs的架设

2023-11-10 17:39

本文主要是介绍00014.使用cvsnt与wincvs实现cvs的架设,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.frontfree.net/view/article_809.html



使用cvsnt与wincvs实现cvs的架设
原创:njx 2003年12月12日

本文是写给希望能够马上通过cvs来进行更好的开发管理的小型团队或个人。相信cvs的绝妙之处大家已经从司徒彦南在前面写的一篇文章中有了一个大概的了解。它的优点我就不在这里进行介绍了,有兴趣的朋友可以参见相关文章:《协作开发中的质量保证技术——并行版本控制、每日构建和交付工程》

我在这里只想说一句:你一但使用了cvs你就会发现你已经离不开它了。

其实网上介绍cvs的相关文章也不少,而据我观察多数是英文的,多数没有任何图片,而且多数是介绍如何在unix操作系统下安装和配置cvs服务器。这显然不适和一些想尝试改进的小型团队,尤其是学生中间的业余团队。其中一个主要原因是这些团队主要采用的开发环境是微软的windows2000操作系统,如果专门提供一台安装unix操作系统的计算机来作为cvs服务器显然是不现实的。这会给本来好奇的人们产生对cvs的恐惧心理,觉得使用它是那么的困难和繁琐。所以,我构思写这篇文章——介绍如何在windows操作系统下安装和配置cvs服务器,并且加入了尽量多的图片——主要目的是让更多的人敢于尝试,并且能够领略到cvs那激动人心的强大功能。

好下面让我们话入正题,以下是本文要介绍的主要内容:

1、服务器端cvsnt的安装;
2、cvs代码仓库的创建;
3、配置cvs帐号;
4、客户端wincvs的安装与配置;
5、使用wincvs进行简单操作(包括commit、checkout等)。

第一节 安装cvsnt

我们知道,cvs是使用“客户端/服务器”(Client/Server)模式来工作的,这也是优秀版本控制系统的发展趋势。那么我们首先要有一台cvs服务器(当然这台电脑也可以同时作为客户端来使用)。本节所要介绍的就是如何利用cvsnt架设一台windows操作系统环境下的cvs服务器。cvsnt顾名思义,肯定是用在windows上的,此软件可以从www.cvsnt.org免费下载最新版本。

先将它下载下来,然后双击开始安装:

会出现上面的对话框,这是无关紧要的,所以一路next按下去,直到出现下面的对话框

这里需要选择“Full installation”,然后点击next,后面会出现以下对话框

注意这里是需要将两个复选框都选中的。然后就可以高枕无忧,一路安装下来了

安装完成了,本节也就结束了,怎么样?还是挺简单的吧。

第二节 创建cvs代码仓库(Repository)

在此我就不对cvs仓库的概念和用途做更多解释了,大家可以参考放飞网文档中心中的其他文章中的介绍。大家只要记住,cvs仓库是代码的每个版本和所有相关记录在服务器端的储存地。有些时候又称它为主拷贝(Master Copy),为什么呢,我们将在后面的章节中了解到。

在创建cvs仓库之前,我们首先需要新建一个文件夹用于充当仓库。该文件夹最好不要与程序放在一起,以免万一系统崩溃时破坏数据。然后,点击“开始”->“程序”->“CVS for NT”->“configure server”,出现对话框后选择“Repositories”选项卡,就会出现如下对话框

点击下方的“add”按钮,会出现让你选择文件夹的对话框,选择我们刚才创建的文件夹,并确定,这时会发现上面所示对话框中央的列表框中发生了改变如下所示

显示出了我们上面所创建的文件夹的路径。这样一个cvs仓库就创建好了。

第三节 配置cvs帐号

上面我们已经安装了cvsnt,并创建了一个cvs仓库。这时,我们需要给连接到服务器上的每一个客户端创建帐号,以保证他们可以正常地工作。

最简单的办法是右键单击“我的电脑”,选择“管理”,在“本地用户和组”中右键单击“用户”,选择“新用户”进行帐户的添加。这样是创建了windows的用户,同时也就创建了cvs的帐户。

第四节 Wincvs的安装与配置

上面三节我们已经介绍了服务器端的全部步骤,现在我们已经有一台cvs服务器了,那么为了实现“客户端/服务器”(Client/Server)模式,我们现在还要继续创造一个或多个客户端。

客户端使用的软件是wincvs可以在www.WinCvs.org免费下载,它是图形界面的,比较直观,而且功能强大。wincvs的安装没有什么特别的,和其他软件一样,双击就可以安装了。

安装完成后,最重要的是对客户端进行配置,目的在于让cvs客户端根据配置信息找到服务器上需要访问的仓库。在wincvs窗口菜单栏中选择“Admin”->“Preferences”出现如下对话框:

在“CVSROOT”栏中输入配置字符串,格式如下:

:pserver:username@hostname(或IP地址):CVS仓库路径

这个格式是绝对不能错的,否则cvs命令就不能正常执行。

下面我解释一下上面的字符串的含义:

1、“pserver” 是最常用的一直cvs远程访问方式;
2、“username” 是指客户端在服务器上的用户名,也就是我们在上面的“配置cvs帐号”一结中讲到的;
3、“hostname” 是cvs服务器的主机名,也可以是它的IP地址;
4、“cvs仓库路径” 是一个cvs仓库所在的目录,用于区分你要访问的是哪个仓库(因为一个cvs服务器上可能有多个不同仓库)。

例如::pserver:njx@frontfree-njx:/master

配置完毕点击确定即可。到现在为止我们已经将cvs的“客户端/服务器”(Client/Server)模式实现了。为了确定一下上面的步骤都对了,我们要进行检验。最好的检验方法是让cvs客户端登录到服务器。在菜单栏里选择“Admin”->“Login”,会出现如下对话框:

提示你输入密码。密码就是上面创建的帐号的密码。完成后点击ok,然后注意wincvs窗口下方的命令结果输出窗口,如果出现下面的信息:

***** CVS exited normally with code 0 *****

说明登录成功了,如果不是,就说明在做上面的步骤时出现了错误,请仔细检查。如果测试成功我们就开始可以使用cvs的强大功能了。

注意:

1、以上步骤同样适用于已经是cvs服务器的那台机器,也就是前面提到的又做服务器又做客户端。
2、cvs的登录只需要一次成功登录就可以了,不必每次都登录。

第五节 wincvs的简单操作

不知不觉已经拥有了cvs服务器的你是否很兴奋呢?下面我们就要开始使用cvs了,本文只介绍cvs的简单操作,如果希望深入了解请参考放飞网文档中心的其他文章。

也许你在兴奋之余会问,第一步应该干什么呢?

首先,我们要在客户端创建一个文件夹,用于存放工作拷贝(关于工作拷贝的概念请参见放飞文档中心的其他相关文档中的相关介绍),工作拷贝是和上面提到的主拷贝相对应的,主拷贝只有一份,放在cvs仓库里,而工作拷贝却可以有很多份,分别放在不同的客户端。创建完文件夹后,我们将它的路径添加到wincvs窗口上方的输入框中即可,从现在开始我们所有的工作拷贝都会存放在这个文件夹中,而我们对文件所做的修改也是针对这个文件夹中的文件。

那么让我们开始一个新的项目,首先在一开始,我们要进行“checkout”过程,这个过程是将主拷贝中的目录及文件拷贝到你指定的客户端目录中。

右键单击wincvs窗口中左边的框,在弹出菜单中选择“checkout module”然后会出现如下对话框:

在第一个输入框中只输入一个“.”,表示仓库中的全要复制一份作为工作拷贝。在第二个输入框中输入你存放工作拷贝的路径,然后点击“确定”即可。(如果今后主拷贝中有了目录的变化,客户端也要进行“checkout”过程才能看到)

完成这一步之后才能进行其他操作,下面我们来模拟建立一个新的项目,并提交到cvs仓库中。首先,在你的工作目录下新建一个文件夹。再看一下wincvs,会看到你刚创建的文件夹前面的图标是红色的,这是提示你选中它然后点击wincvs按钮栏中的那个带加号的按钮,这是在cvs服务器上创建一个这样的目录。同样的如果你新建的是一个文件也是要这样添加。注意目录和文件要分别添加,别以为添加了目录,里面的文件也会被添加。在添加过程中会遇到这样一个对话框:

这是cvs在提醒你输入记录信息,这会被记录在相应的日志中,便于今后查看。一定要认真填写,因为如果几天后你忘了你这天对文件做了什么,这就是最好的资料。如:Create a new project。之后点击确定就可以了。

目录的添加到这步就结束了,而文件的添加还需要另外一步,就是文件的“commit”过程,这也适用于文件被修改后,向仓库提交。只要将需要提交的文件选中,然后右键单击,在弹出菜单里选择“commit selection”然后同样输入记录信息,点击确定。

这时,另外一台客户端机器想看见项目的文件,可以在想获得最新版本的目录上单击右键选择“update selection”,之后就会发现其中的文件变成了最新版本,别人的改动也就一目了然了。

以上我向大家介绍了在windows环境下架设cvs的方法并粗浅的介绍了wincvs的基本功能,希望每个曾经因为没有条件而放弃cvs的开发团队或个人,都能用上自己的cvs。到此,本文也就结束了。谢谢各位能够阅读我的文章。

这篇关于00014.使用cvsnt与wincvs实现cvs的架设的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/384233

相关文章

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa