引言:CVS(Concurrent Versions System)主要用于源代码控制,通过一个中央管理器(也就是通用的pserver服务器来进行代码管理),当一个项目中的某个成员对代码修改之后,其他成员能及时反映出修改了什么内容并提示消息?通过这样的一个系统,一个项目组可以并行的开发软件,并尽可能的减少代码版本冲突等常见问题。
目录:
1、模型
2、解决方案
3、入门教程
4、在eclipse中使用CVS
1、模型:
现在一个开发公司打算开发一个商业采购程序,他的客户端计划实现代码语言为c++和java,服务器端实现为j2ee,这次这家开发公司计划用web service作为底层技术基础,这样客户端通过soap消息来调用服务器端。因此,这个项目组就开始招集人马,为了提高效率,因此成立了三个项目组,一个专门开发服务器端,一个项目组为java客户端,一个项目组是熟悉c++的,因此开发时会成立三个项目组,现在他们希望通过一个代码管理系统来对三个项目组进行代码管理。第一点,从安全性来说,这三个项目组之间是不能彼此之间访问代码(他们之间的接口不在此考虑中);第二点,各个项目组成员可以下载到属于他们组的代码;第三点,在一个项目组内,当一个成员把代码完成并测试之后,必须提交到这个管理系统中;第四点,为了某个项目组中的成员可以测试他们项目组中的代码,因此他是可以更新他们项目组中成员的代码到本地中(都是最新版本的);第五点,其他成员或者测试员可以更新获修改同组成员的代码;第六点,如果一个文件被两个程序员下载到本地修改后提交时,后提交的程序员会接到通知。为了达到上面的要求,这家开发公司就采用了CVS来作为他们的源代码管理系统,以减少管理成本。
2、解决方案:
CVS系统满足了上面的模型需求,第一点要求,CVS默认采用了Unix/Linux的用户登陆管理方式,所以对文件的验证是通过用户和组来管理的,所以不同的项目组可以拥有不同的代码模型;第二点要求,CVS系统支持用户
从系统中下载模型(chekout);第三点要求,CVS系统支持用户提交修改的文件(commit);第四点要求,也支持更新(update);第五点要求, CVS系统对属于同组用户的验证是宽松的;第六点要求,对于后改的文件在提交时会进行版本验证,并做出提示。
为了简化操作,Unix/Linux系统可以安装CVS服务器pserver,而为了降低项目组中的成员的学习与操作成本,在Windows下的成员可以使用WinCVS作为客户端使用。
3、入门教程:( 转载地址)内容如下:
S. 1 - Explain yourself, sir.
1.1 What is CVS?
CVS (Concurrent Versions System) is a utility used to keep several versions of a set of files, and to allow several
developers to work on a project together. It allows developers to see who is editing files, what changes they made
to them, and when and why that happened.
Many programming projects (both open-source and proprietary) use CVS nowadays. Ever wonder why there seem to be
directories called 'CVS' in a source package you just downloaded? That's the developer who packaged it being lazy
:) Ever see one of these :
$Id: cvs-tutorial.txt,v 1.8 2000/07/21 20:31:40 doc Exp $
in a source file, and wonder what it means? I'll be telling you how to decipher such things, and how to make them
appear in your project source files later.
CVS, along with the likes of Bugzilla, are some of the tools that you use once, and never stop using. Trust me.
You'll love it.
1.2 Why should I use CVS?
Because it rocks hard. Ever want to work on a project with others, except maintaining a working codebase is a
bloody nightmare? CVS does that for you. Ever want to see who made a particular change to a file, so you can batter
them round the head and shoulders with a trout and demand they explain themselves? CVS does that. Ever want to
maintain a complete history of all changes to all source file since the project's inception? CVS does that, too.
1.3 Where can I get CVS?
CVS can be got in quite a few places. The primary site is http://www.cyclic.com/. It's available in RPM and DEB as
well, I believe. FreeBSD comes with it installed as part of the base install.
You can also get windows/dos versions of the client, both with and without a GUI. I recommend WinCVS for windows,
for those of you who demand a GUI, and cervisia and linCVS for your preferred UNIX. Of course, this tutorial only
covers command line usage :)
S. 2 - Down to Business then
2.1 How does CVS work?
CVS can either work locally, or via the network. I'll be covering network usage in this tutorial, as it seems to be
the most commonly used, and local usage is identical, except for setup, and environment variables used.
CVS works by keeping RCS versions of each file in a directory in a central repository on a machine (the 'CVS
Server', if you will.). It handles requests from clients to make amendments, or retrieve past versions (or
"revisions") of files. It also allows files to be 'tagged' (i.e. 'marked' as being in a certain state, i.e.
3_2_RELEASE :)). It also caters for conflict resolution if several changes are committed at once.
2.2 Terminology
* 'Module' - a particular set of files kept in CVS.
* 'Repository' - Location on CVS server where modules are kept.
* 'Revision' - A certain version of a file.
* 'Tag' - A certain milestone in a file or module's development.
* 'Branch' - A 'fork' of the module.
2.3 Getting Started
The first thing to do is to install CVS itself. It's a pretty standard package. You can us
目录:
1、模型
2、解决方案
3、入门教程
4、在eclipse中使用CVS
1、模型:
现在一个开发公司打算开发一个商业采购程序,他的客户端计划实现代码语言为c++和java,服务器端实现为j2ee,这次这家开发公司计划用web service作为底层技术基础,这样客户端通过soap消息来调用服务器端。因此,这个项目组就开始招集人马,为了提高效率,因此成立了三个项目组,一个专门开发服务器端,一个项目组为java客户端,一个项目组是熟悉c++的,因此开发时会成立三个项目组,现在他们希望通过一个代码管理系统来对三个项目组进行代码管理。第一点,从安全性来说,这三个项目组之间是不能彼此之间访问代码(他们之间的接口不在此考虑中);第二点,各个项目组成员可以下载到属于他们组的代码;第三点,在一个项目组内,当一个成员把代码完成并测试之后,必须提交到这个管理系统中;第四点,为了某个项目组中的成员可以测试他们项目组中的代码,因此他是可以更新他们项目组中成员的代码到本地中(都是最新版本的);第五点,其他成员或者测试员可以更新获修改同组成员的代码;第六点,如果一个文件被两个程序员下载到本地修改后提交时,后提交的程序员会接到通知。为了达到上面的要求,这家开发公司就采用了CVS来作为他们的源代码管理系统,以减少管理成本。
2、解决方案:
CVS系统满足了上面的模型需求,第一点要求,CVS默认采用了Unix/Linux的用户登陆管理方式,所以对文件的验证是通过用户和组来管理的,所以不同的项目组可以拥有不同的代码模型;第二点要求,CVS系统支持用户
从系统中下载模型(chekout);第三点要求,CVS系统支持用户提交修改的文件(commit);第四点要求,也支持更新(update);第五点要求, CVS系统对属于同组用户的验证是宽松的;第六点要求,对于后改的文件在提交时会进行版本验证,并做出提示。
为了简化操作,Unix/Linux系统可以安装CVS服务器pserver,而为了降低项目组中的成员的学习与操作成本,在Windows下的成员可以使用WinCVS作为客户端使用。
3、入门教程:( 转载地址)内容如下:
S. 1 - Explain yourself, sir.
1.1 What is CVS?
CVS (Concurrent Versions System) is a utility used to keep several versions of a set of files, and to allow several
developers to work on a project together. It allows developers to see who is editing files, what changes they made
to them, and when and why that happened.
Many programming projects (both open-source and proprietary) use CVS nowadays. Ever wonder why there seem to be
directories called 'CVS' in a source package you just downloaded? That's the developer who packaged it being lazy
:) Ever see one of these :
$Id: cvs-tutorial.txt,v 1.8 2000/07/21 20:31:40 doc Exp $
in a source file, and wonder what it means? I'll be telling you how to decipher such things, and how to make them
appear in your project source files later.
CVS, along with the likes of Bugzilla, are some of the tools that you use once, and never stop using. Trust me.
You'll love it.
1.2 Why should I use CVS?
Because it rocks hard. Ever want to work on a project with others, except maintaining a working codebase is a
bloody nightmare? CVS does that for you. Ever want to see who made a particular change to a file, so you can batter
them round the head and shoulders with a trout and demand they explain themselves? CVS does that. Ever want to
maintain a complete history of all changes to all source file since the project's inception? CVS does that, too.
1.3 Where can I get CVS?
CVS can be got in quite a few places. The primary site is http://www.cyclic.com/. It's available in RPM and DEB as
well, I believe. FreeBSD comes with it installed as part of the base install.
You can also get windows/dos versions of the client, both with and without a GUI. I recommend WinCVS for windows,
for those of you who demand a GUI, and cervisia and linCVS for your preferred UNIX. Of course, this tutorial only
covers command line usage :)
S. 2 - Down to Business then
2.1 How does CVS work?
CVS can either work locally, or via the network. I'll be covering network usage in this tutorial, as it seems to be
the most commonly used, and local usage is identical, except for setup, and environment variables used.
CVS works by keeping RCS versions of each file in a directory in a central repository on a machine (the 'CVS
Server', if you will.). It handles requests from clients to make amendments, or retrieve past versions (or
"revisions") of files. It also allows files to be 'tagged' (i.e. 'marked' as being in a certain state, i.e.
3_2_RELEASE :)). It also caters for conflict resolution if several changes are committed at once.
2.2 Terminology
* 'Module' - a particular set of files kept in CVS.
* 'Repository' - Location on CVS server where modules are kept.
* 'Revision' - A certain version of a file.
* 'Tag' - A certain milestone in a file or module's development.
* 'Branch' - A 'fork' of the module.
2.3 Getting Started
The first thing to do is to install CVS itself. It's a pretty standard package. You can us