CVS 开源软件开发技术[按需印刷]
基本信息
- 原书名:Open Source Development With CVS
- 原出版社: Coriolis
- 作者: (美)Karl Fogel
- 译者: 肖虎勤 陈军等
- 丛书名: Linux与自由软件资源丛书
- 出版社:机械工业出版社
- ISBN:7111088913
- 上架时间:2001-7-11
- 出版日期:2001 年6月
- 页码:260
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > 自由软件
计算机 > 软件工程及软件方法学 > 综合
内容简介回到顶部↑
本书详细介绍CVS 的发展历史、基本概念、高级应用等内容。本书不仅介绍了CVS的基本知识,而且提供了管理或参与开发开放资源项目的具体建议。本书介绍了许多自由软件开发中常见的问题和分析,还针对用得最广的版本控制系统提供了便利的指南。本书有助于自由软件开发人员利用在线文档进行设计与开发工作。本书适合CVS服务器的管理员、自由软件管理者、自由软件爱好者等参考。
目录回到顶部↑
译者序
前言
第1章 cvs发展过程 1
1.1 什么是自由软件 1
1.1.1 cvs的产生 2
1.1.2 两种开发类型 3
1.2 cvs和自由项目有什么关系 4
1.3 开放资源开发的原则和cvs在其中的
用处 6
1.4 怎样获得代码 7
第2章 cvs概况 10
2.1 cvs基本概念 10
2.2 cvs速成 13
2.2.1 调用cvs 14
2.2.2 访问源代码库 14
2.2.3 开始一个新项目 16
2.2.4 检验一个工作拷贝 18
2.2.5 做出更改 21
2.2.6 寻找工作记录 21
2.2.7 cvs和隐含参数 25
前言
第1章 cvs发展过程 1
1.1 什么是自由软件 1
1.1.1 cvs的产生 2
1.1.2 两种开发类型 3
1.2 cvs和自由项目有什么关系 4
1.3 开放资源开发的原则和cvs在其中的
用处 6
1.4 怎样获得代码 7
第2章 cvs概况 10
2.1 cvs基本概念 10
2.2 cvs速成 13
2.2.1 调用cvs 14
2.2.2 访问源代码库 14
2.2.3 开始一个新项目 16
2.2.4 检验一个工作拷贝 18
2.2.5 做出更改 21
2.2.6 寻找工作记录 21
2.2.7 cvs和隐含参数 25
译者序回到顶部↑
今天,自由软件在世界上日益普及。由于它的源代码是公开的;因此,如何更好地管理自由软件的源代码,使其更好地进行开发已成为一个现实问题。于是,为了满足这一需要,CVS(Concurrent Versions System,版本协作控制系统)就应运而生了。
本书就是在这种环境下完成的。作者针对自由软件开发的现状和发展前景,作了大量的研究,并且在许多专业人士的帮助下,完成了此书,它对于自由软件的发展具有很强的实用性。书中不但解答了许多有关自由软件开发的疑问,还针对用得最广的版本控制系统提供便利的使用指南。本书主要为CVS服务器的管理员、自由软件管理者以及自由软件爱好者编写。
另外,本书通过大量的实验介绍了CVS如何管理源代码、Web页以及帮助读者熟悉开发源文件发展的一些协定等等。
参加本书翻译的工作人员主要有肖虎勤、陈军、姚凯、李向荣、龙浩等。由于译者水平有限,疏漏之处在所难免,欢迎读者批评指正。
2000年11月
本书就是在这种环境下完成的。作者针对自由软件开发的现状和发展前景,作了大量的研究,并且在许多专业人士的帮助下,完成了此书,它对于自由软件的发展具有很强的实用性。书中不但解答了许多有关自由软件开发的疑问,还针对用得最广的版本控制系统提供便利的使用指南。本书主要为CVS服务器的管理员、自由软件管理者以及自由软件爱好者编写。
另外,本书通过大量的实验介绍了CVS如何管理源代码、Web页以及帮助读者熟悉开发源文件发展的一些协定等等。
参加本书翻译的工作人员主要有肖虎勤、陈军、姚凯、李向荣、龙浩等。由于译者水平有限,疏漏之处在所难免,欢迎读者批评指正。
2000年11月
前言回到顶部↑
如果你像别的程序员一样,不需靠开发自由软件谋生(只要你愿意,一定能赚很多钱,不是吗?),那么至少你可能使用过一些自由软件,并给自由项目捐献了一些代码或文件。假若这样,就要注意到近几年来在自由软件领域所展示出的现象:
?正在形成一种文化和一组具有共享价值的资源。即:自由软件有维护者,但没有所有者,开发者与用户之间没有明确的分界线。错误(bug)被公布,而不是被隐藏,并且所有的软件开发信息都被公布。
?许多自由项目,特别是一些大型的、分布式的软件开发小组,将其源代码保存在一个名为CVS的版本控制系统中。
第二种现象和第一种现象紧密相关。CVS能够迅速流行,得益于自由软件支持并鼓励开放、发展的软件开发方式。同时,CVS允许因特网上的任何人及时访问源代码的最新版本,以利于“补丁文件”的建立,及适应人们贡献修正错误的方法和项目的新功能的需要。CVS还允许积极开发者对相同的基代码进行修改,并且不需保持一致的修改步调。事实上,如果没有CVS,我们也必须创造一个这样的版本控制系统。
本书有两个目的:一个是社会目的,另一个是技术目的。社会目的是证明出现的这种新文化,并且对人们管理或参与开发开放资源项目能提供具体的建议。技术目的是当你运用CVS时,告诉你必须了解一些有关CVS的知识,以便能更好地在开放资源项目上运用CVS。
至于在第一个目的中涉及的单词“建议”,许多人认为这可能是我对一个初期且不稳定项目的不太确切的看法。但是在World Wide Web问世不到一年时,就出现了主页设计源程序块。事实证明,许多的看法是可疑的或者根本就是错误的。为避免出现这种问题,我将在进行开放资源的练习中,尽量坚持采用从实际经历中学到的知识为例子。所以,当我的个人看法成为一种观点之后,请不要把它作为我的一种臆断。
尽管你能从开放资源项目的内容中认识到CVS,但如果你能经常运用CVS,则能更好地学习CVS。CVS不仅能管理程序源代码,也能翻译网址、文本文档、配置文件等(不必通过长期的实验,只需运用CVS,你就能判断出CVS是否为给定状态下的恰当程序工具)。
本书的章节之间并非紧密关联:其中,一些是有关开放资源发展的内容,另一些是有关CVS的内容。随着内容的不断深入,你将发现这两个主题之间没有严格的区分,并且是紧密相连的。学习本书后不要求你能马上精通CVS,但你肯定能用在线文档进行自由软件的设计和开发工作。并且,至少能马上熟悉UNIX,因为CVS是一个UNIX环境下的实例。但如果你能迅速研究本书,就能在抛开UNIX环境的情况下学会CVS。
两个术语
“开放资源”(Open Source)和“自由软件”(free software)有何不同?这是一个旷日持久的辩论话题。在我看来,这两条术语没有本质的区别,并且,我将在本书中交替使用这两条术语。在http://www.gnu.org/philosophy/open-source-or-free.html中可见到Richard Stallman的论文“为什么称‘自由软件’比称‘开放资源’好”。该论文精辟地说明了这两个术语的不同之处。
自由软件中的“自由”,当然不是指价格,而是指软件中的源代码能自由地进行修改和再分发。对于自由软件开发的自由度,并不是指软件的低价位。实际上,这种自由度正是自由软件能够成功的关键。遗憾的是,英语单词本身不能区分“自由”与“免费”这两个不同概念。
CVS在本书中的用法
在本书中,会有许多带有解释文字的命令行实例,并且主要例子中的用户名为Jrandom,它工作在名为floss.red-bean.com的机器上。其命令提示行为:
floss$
提示行下面的输出,与提示行为同一字体:
floss$ whoami
jrandom
floss$
偶尔因命令行本身太长而占据标准UNIX终端的多行时,在命令行的末端将出现一个反斜杠。该反斜杠表明下一行继续为命令行。由于可读性的原因,命令行有可能缩排。例如:
floss$ cvs diff -c -r prerelease-beta-2_09-19990315 -r \
?正在形成一种文化和一组具有共享价值的资源。即:自由软件有维护者,但没有所有者,开发者与用户之间没有明确的分界线。错误(bug)被公布,而不是被隐藏,并且所有的软件开发信息都被公布。
?许多自由项目,特别是一些大型的、分布式的软件开发小组,将其源代码保存在一个名为CVS的版本控制系统中。
第二种现象和第一种现象紧密相关。CVS能够迅速流行,得益于自由软件支持并鼓励开放、发展的软件开发方式。同时,CVS允许因特网上的任何人及时访问源代码的最新版本,以利于“补丁文件”的建立,及适应人们贡献修正错误的方法和项目的新功能的需要。CVS还允许积极开发者对相同的基代码进行修改,并且不需保持一致的修改步调。事实上,如果没有CVS,我们也必须创造一个这样的版本控制系统。
本书有两个目的:一个是社会目的,另一个是技术目的。社会目的是证明出现的这种新文化,并且对人们管理或参与开发开放资源项目能提供具体的建议。技术目的是当你运用CVS时,告诉你必须了解一些有关CVS的知识,以便能更好地在开放资源项目上运用CVS。
至于在第一个目的中涉及的单词“建议”,许多人认为这可能是我对一个初期且不稳定项目的不太确切的看法。但是在World Wide Web问世不到一年时,就出现了主页设计源程序块。事实证明,许多的看法是可疑的或者根本就是错误的。为避免出现这种问题,我将在进行开放资源的练习中,尽量坚持采用从实际经历中学到的知识为例子。所以,当我的个人看法成为一种观点之后,请不要把它作为我的一种臆断。
尽管你能从开放资源项目的内容中认识到CVS,但如果你能经常运用CVS,则能更好地学习CVS。CVS不仅能管理程序源代码,也能翻译网址、文本文档、配置文件等(不必通过长期的实验,只需运用CVS,你就能判断出CVS是否为给定状态下的恰当程序工具)。
本书的章节之间并非紧密关联:其中,一些是有关开放资源发展的内容,另一些是有关CVS的内容。随着内容的不断深入,你将发现这两个主题之间没有严格的区分,并且是紧密相连的。学习本书后不要求你能马上精通CVS,但你肯定能用在线文档进行自由软件的设计和开发工作。并且,至少能马上熟悉UNIX,因为CVS是一个UNIX环境下的实例。但如果你能迅速研究本书,就能在抛开UNIX环境的情况下学会CVS。
两个术语
“开放资源”(Open Source)和“自由软件”(free software)有何不同?这是一个旷日持久的辩论话题。在我看来,这两条术语没有本质的区别,并且,我将在本书中交替使用这两条术语。在http://www.gnu.org/philosophy/open-source-or-free.html中可见到Richard Stallman的论文“为什么称‘自由软件’比称‘开放资源’好”。该论文精辟地说明了这两个术语的不同之处。
自由软件中的“自由”,当然不是指价格,而是指软件中的源代码能自由地进行修改和再分发。对于自由软件开发的自由度,并不是指软件的低价位。实际上,这种自由度正是自由软件能够成功的关键。遗憾的是,英语单词本身不能区分“自由”与“免费”这两个不同概念。
CVS在本书中的用法
在本书中,会有许多带有解释文字的命令行实例,并且主要例子中的用户名为Jrandom,它工作在名为floss.red-bean.com的机器上。其命令提示行为:
floss$
提示行下面的输出,与提示行为同一字体:
floss$ whoami
jrandom
floss$
偶尔因命令行本身太长而占据标准UNIX终端的多行时,在命令行的末端将出现一个反斜杠。该反斜杠表明下一行继续为命令行。由于可读性的原因,命令行有可能缩排。例如:
floss$ cvs diff -c -r prerelease-beta-2_09-19990315 -r \








点击看大图




加载中...
