cvs客户端大全什么是 CVS? CVS 是一种客户机/服务器系统,可以让开发人员将他们的项目存储在称为资源库的中央位置。使用 cvs 客户机工具,开发人员可以对资源库的内容进行更改。CVS 资源库会依次记录对每个文件所做的每个更改,并创建一个完整的项目开发进展历史。开发人员可以请求特定源文件的旧版本、查看更改日志,并根据需要执行其它一些有用的任务。 许多开放软件项目都有他们自己的 CVS 服务器,项目开发人员把这些服务器作为他们工作的源码仓库。源码仓库的源码目录中保存的都是实现版本控制的历史文件(history file),历史文件名为filename,v。历史文件包含用来恢复所有版本文件的足够信息、所有提交的信息以及提交者信息。历史文件常常被称作RCS文件,因为最早是RCS程序用这种格式来保存文件的所有修改信息,可以从man rcsfile得到历史文件的。 开发人员每天都会改进 CVS 资源库内的源码,且他们往往分布在世界各地,而 CVS 提供了一种必要的机制,将他们的项目联合成一个集中的、协作的整体。CVS 创建了"组织粘和剂",可以让这些开发人员改进代码而不会干扰别人、丢失重要数据或遗漏彼此对特定源文件的重要更新。 当开发人员准备好以后,他们把 CVS 上部分当前工作打包成 .tar.gz 文件,作为软件包的新官方版本来发布它。然而,由于种种原因,最新的官方发行版有时并不是最新的。在本教程的第一部分将首先介绍如何使用CVS为个人使用获取最新和最高开发人员版本的源码。 CVSROOT 在开始前,您需要了解一些 CVS 的基础知识。首先,为了连接到 CVS 资源库,您需要知道称为 "CVSROOT" 的路径。CVSROOT 是一个字符串,就象 URL,它告诉 cvs 命令远程资源库在哪里,以及如何连接它。不仅如此,根据 CVS 资源库是本地的还是远程的,以及连接到它的不同方式,CVS 还有许多不同的 CVSROOT 格式。这里有一些带有解释的 CVSROOT 示例。 本地 CVSROOT
这是一个本地 CVSROOT 路径的示例;如果您想连接到 /home/cvsroot 中存在的本地资源库,或者有一个经 NFS 安装在 /home/cvsroot 的资源库,需要象这样使用 CSROOOT。 远程密码服务器 CVSROOT
这里是一个远程资源库的 CVSROOT 示例,该资源库位于 foo.bar.com 主机上,并在这台机器的 /home/cvsroot 目录中活动。前导 ":pserver:" 告诉我们的客户机使用 CVS 密码服务器协议连接到这台远程机器,该协议内置在 CVS 中。一般情况下,公共 CVS 资源库使用密码服务器协议以允许匿名用户访问。 远程 rsh/ssh CVSROOT
这是一个使用 RSH 或 SSH 协议的 CVSROOT 的示例;在该例中,CVS 服务器尝试使用 drobbing 帐户来访问在 foo.bar.com 上的资源库。如果 CVS_RSH 的环境变量设置成 "ssh",那么我们的客户机就尝试用 ssh 去连接;否则就使用 rsh。那些关注安全性的用户往往使用 ssh 访问法;但是,无论是 RSH 还是 SSH 方法都不能对匿名用户提供一种获取源码的方式。为了使用这种方法,您在 foo.bar.com 上必须有个登录帐户。 除了 CVSROOT 之外,您还需要知道要检出的模块(源码集合)的名称,以及登录到 CVS 密码服务器的匿名密码。与匿名 ftp 不同,匿名密码没有什么"标准"格式,所以您需要从开发人员网站或开发人员那里获得具体的密码。一旦知道了所有这些信息,就可以开始了。 与 CVS 交互 获取源码需要两个步骤。首先,以远程密码服务器的方式登录到CVS服务器。然后,使用"checkout"命令获取源码。这里有一组命令的示例,用于检出最新的 Samba 源码(一个流行的 UNIX/Windows 集成项目):
第一个命令设置 CVSROOT 环境变量。如果没有设置这个变量,下面两个命令将需要跟在 "cvs" 命令后再加上 "-d :pserver:cvs@pserver.samba.org:/cvsroot"。设定 CVSROOT 环境变量省去了一些输入。
上面第一个 cvs 命令是让我们登录到 pserver,第二个命令告诉 CVS 客户机使用 gzip 压缩级 5 ("-z5") 在慢速连接上加快传输速度,来检出 ("checkout") samba 模块。对于每个在本地创建的新文件,cvs 都会打印 "U [path]" 表明这个特定的文件已经在磁盘上更新过了。 一旦检出命令完成,将在包含最新源码的当前工作目录中看到 "samba" 目录。还会注意到每个子目录下都有一个"CVS"目录 -- CVS 在这些目录中存储帐户信息,可以放心地忽略它们。一旦检出结束,用户就无需担心是否设置了 CVSROOT 环境变量,也无需再在命令行上指定它,因为现在所有额外的 "CVS" 目录里都有它的缓存。 记住 -- 只需要为初始登录和检出设置 CVSROOT。 上一篇:C-Forge 1.6-4 下一篇:GDB英文文档 更多相关文章
|
推荐文章
精彩文章
|