CVS使用说明

合集下载

CVS操作手册

CVS操作手册
这里的三个输入框必须注意:Repository指的是需导入的目录名;将作为模块名导入仓库..
Vendor tag指定程序的提供者;releasetag应尽量避免重复..
注意一点;在import进去一个目录以后;是需要重新checkout下来的;可以先把这个目录改个名字;以免产生错误..
4.取仓库模块
5.将服务器的修改更新到自己工作目录
当服务器端有了修改;我们可以用update来把这些修改更新到本地..Update可以针对整个模块、某一个目录或者是单独的文件..
选定需要更新的对象;点右键选择update selection…
在弹出的update settings页面中
选择Create missing directories that exist in the repository添加本地目录中没有的目录
6.将自己的修改提交到CVS服务器
把修改提交到仓库..多人同时开发时;为避免提交时产生冲突;提交之前最好先做update..Update会把更新合并到本地;给解决冲突提供了机会..
commit options页面做重要的提交时要注意填写提交信息..
commit options页面中选择Force commiteven if not modified可强制提交
cvs server aborted: correct above errors first
这时就是产生了冲突;首先应该做update把CVS上的变动合并到自己本地文件中;同时在目录以.#filename.1.X保存了本地未做修改的原版本文件..
cvs以如下方式标记合并:
<<<<<<<和=======之间的部分是自己修改的部分;=======和>>>>>>>1.x之间是其他人提交到CVS仓库的修改..内容的取舍由开发人员协定..

CVS客户端安装及使用简单指南

CVS客户端安装及使用简单指南

CVS客户端安装及使用简单指南CVS是一种源代码版本控制系统,常用于协调团队成员之间的代码开发。

它可以帮助团队成员在多个工作站上共享和更新源代码,使得多人合作开发更加高效和方便。

本文将介绍如何安装和使用CVS客户端。

一、安装CVS客户端3.双击安装包文件,按照安装向导的指示完成安装。

二、配置CVS客户端1.打开终端(或命令提示符),输入以下命令查看CVS客户端是否已正确安装:```$ cvs --version```如果显示了CVS的版本信息,则说明安装成功。

```$ cvs -d <CVS服务器地址> login```其中,`<CVS服务器地址>`为您的CVS服务器的地址。

然后按照提示输入用户名和密码。

3.配置CVS客户端的全局忽略设置,该设置将决定哪些文件在提交代码时被忽略。

在终端中输入以下命令:```$ cvs -d <CVS服务器地址> edit-cvsroot```三、使用CVS客户端1.检出代码:在终端中输入以下命令,将代码从CVS服务器中检出到本地:```$ cvs -d <CVS服务器地址> checkout <代码仓库路径>```2.更新代码:在终端中进入代码目录,输入以下命令更新本地代码:```$ cvs -d <CVS服务器地址> update```这将与CVS服务器同步,将最新的代码更新到本地。

3.提交代码:在终端中进入代码目录,修改完代码后,输入以下命令提交代码到CVS服务器:``````CVS将会检测并记录您的代码修改,并将其提交到服务器上。

4.比较代码:通过比较工具可以比较不同版本的文件或文件夹之间的差异。

在终端中输入以下命令,比较两个版本的文件差异:```$ cvs -d <CVS服务器地址> diff -r <版本1> -r <版本2> <文件路径>```其中,`<版本1>`和`<版本2>`为要比较的版本号,`<文件路径>`为要比较的文件路径。

CVS_使用简介1

CVS_使用简介1

一、服务器搭建与配置1、安装cvsserver(默认安装,省略)2、新建一个文件夹如:f:/CONFIGROOT;3、在repository configuration中配置cvs仓库,之后可以在F:\CONFIGROOT\CVSROOT中看到许多关于cvs的配置信息4、server settingserver setting中run as 选择具有windows管理者权限的用户5、在cvs control panel的about中重启一下cvs。

6、cmd下,cvsroot环境变量配置:set cvsroot=:pserver:Administrator@HOUQING:/CONFIGROOT(set cvsroot=:协议:用户名@主机名:/仓库名)注意,可以直接在系统环境变量里边设置了cvsroot(只有一个资源库时比较适用),这样不用每次都手动设置cvsroot,但是当有多个资源库的时候,可能会有问题。

7、cvs login登陆Cvs login 资源库名以后登录后,可以用cvs ls查看资源库中的module8、添加用户及密码设置(unix、xp中一般这样操作;win2000等,直接通过计算机用户组管理,并将对应组授权给创建的资源库。

),但不建议xp安装cvsnt。

cvs passwd -a -r Administrator yanshi(和admin用户权限一样的用户)yanshi是你想新添加的用户名 Administrator指定现在用具有admin权限的用户来创建yanshi用户否则出现错误信息:Only administrators can add or change another's password这条命令后就可以设置这个用户的密码。

成功后可以使用这个用户了服务器中,导入一个module:cvs import -m "test_03_import_command" cvs_test_03 /CONFIGROOT导入一个新的moudle cvs_test_03注意:可以通过cvs ?了解查询更多cvs命令的使用。

CVS使用方法范文

CVS使用方法范文

CVS使用方法范文CVS (Concurrent Versions System) 是一个开源分布式版本控制系统,它允许多个用户并发地管理和跟踪文档、源代码和其他文件的更改。

CVS可以用于个人项目或者团队项目,它有助于组织和维护代码的版本历史记录,并提供了一种协作开发代码的方式。

下面将详细介绍CVS的使用方法。

安装CVS:2.安装CVS。

执行安装文件,并按照安装向导的指示进行安装。

创建一个新的仓库:1.创建一个空的目录。

选择一个合适的位置在你的计算机上创建一个空目录,用于托管你的仓库文件。

2. 初始化仓库。

在新创建的目录中,运行`cvs init`命令来初始化仓库。

导入代码到仓库:1.在你的本地计算机上创建一个新的文件夹来保存你的代码。

2.打开终端(命令提示符或终端窗口)并导航到你的代码文件夹。

3. 运行`cvs import`命令来将你的代码导入仓库。

命令的格式如下:`cvs import -m "initial import" <repository> <vendor tag><release tag>`检出仓库:1.再次打开终端并导航到你希望保存检出代码的目录。

2. 运行`cvs checkout`命令来从仓库中检出代码。

命令的格式为:`cvs checkout <repository>`更新代码:1.打开终端并导航到你检出代码所在的目录。

2. 运行`cvs update`命令来更新你的代码。

提交更改:1.打开终端并导航到你的代码所在目录。

查看仓库历史记录:1.打开终端并导航到你的代码所在目录。

2. 运行`cvs history`命令来查看仓库的历史记录。

回滚到特定版本:1.打开终端并导航到你的代码所在目录。

2. 运行`cvs update -j <previous_version> -j<current_version>`来将你的代码回滚到特定版本。

CVS的使用

CVS的使用

版本控制之CVS用法09CS X3D房产开发小组一、CVS的安装我使用的CVS版本是cvsnt-2.5.03.2151,下面就是安装的一些步骤。

双击安装文件,得到以下图标:点击Next,得到以下对话框:选择接受,点击Next,得到如下对话框:如果是初次在计算机上安装CVSNT软件,则在这三种安装方式中,选择最后一种方式(完全安装),选择后得到如下对话框:选择后,点击Install。

这一步完成后,需要重启计算机,完成重启之后,CVSNT软件则安装完成。

二、设置CVS进行一些参数安装完成后在使用CVSNT软件之前,还需要在CVSNT的控制面板进行一些参数的设置。

在控制面板里打开CVSNT控制面板(一般不直接显示在控制面板中,可以搜索框中输入“CVS”查找,安装成功后一般都会查找得到):首先是Server Settings(服务器设置),在CVSNT控制面板中切换到Server Settings选项:下拉列表框Run as user是对服务器运行方式进行设置,下拉选项有两类:client user和本地用户。

client user选项表示此服务器作为一个客户端运行,而本地用户的一些选项则表明作为独立的服务器运行。

下拉列表default设置默认成员,下拉选项也有两类:default和ZS。

下拉列表Temporary设置存放CVS临时文件,可以是有效的文件路径。

下拉列表Encryption设置编密码方式。

接下来配置Repository configuration(资源库),切换到Repository configuration选项:在此对话框中,单击Add按钮进行添加资源库,得到如下的对话框:其中,Location文本框是存放资源库的目录,在Name文本框中输入CVS在客户端使用资源库的名称,必须以反斜杠开始(一般是选择资源库目录时自动添加的)。

此外还可以在Description文本框中输入是对资源库的描述。

CVS的配置和使用

CVS的配置和使用

CVS的配置和使⽤下⾯是搜集的资料///////////////////本⼈⽤的是CVSNT 2.0.51c,⽤最新的版本在Eclipse中死活不能列出服务器⾥内容,换了这个版本就好了,现在也不知道怎么回事。

⾸先安装,如果是使⽤安装包的版本,很简单,⼀路NEXT;如果是使⽤直接解压的版本,解压缩后把cvsnt.cpl和setuid.dll复制到%WINROOT%\system32下,并在当前⽬录下执⾏以下命令注册CVSNT系统服务:cvsservice -icvslock -i完成后可以在控制⾯版⾥看到CVS for NT的图标,在⾥⾯先启动CVS Service和CVS Lock Service,注意如果使⽤的是解压的版本,还要在CVSNT⽬录下运⾏⼀下genkey⽣成SSL的密钥:genkey.exe cvsnt-default.pem并在SSL settings中选择⼀下刚刚⽣成的密钥⽂件,这个好像没有SSL登陆就没⽤,假设⼀下,没⽤过。

如图:设置Repository,就是CVSNT资源库的位置,切换到Repositories选项卡,Add添加CVSNT资源库的位置,此处Location选为E:/CVSNT/Repository,Name是访问CVSNT服务器时使⽤的路径名,按默认即可,本⼈是/CVSNT/Repository,如果是新建的⽬录,会提⽰你是否初始化Repository,同意即可。

如图:切换到Advanced,先在Use local users for pserver authentication instead of domain users和Pretend to be a Unix CVS version钩上,这是让CVSNT使⽤本地账户作为pserver认证⽅式以及让CVSNT服务器模拟为Unix CVS服务器,如图:CVSNT服务器已经配置好了,接下来是我使⽤过程中遇到问题最多的⽤户配置。

CVS工具配置和使用指南

CVS工具配置和使用指南

目录第1章CVS工具的安装配置 (1)1.1基本安装 (1)1.2CVS S ERV ER端的配置 (1)1.3CVS C LIENT端的配置 (3)第2章CVS的基本操作 (5)2.1U NIX环境下的操作说明 (5)2.2W INDOWS环境下的操作说明 (7)第1章CVS工具的安装配置1.1 基本安装以下以UNIX平台为例。

从/servlets/ProjectDownloadList下载最新的cvs安装包到本地后:%gunzip cvs-1.11.2.tar.gz%tar xvf cvs-1.11.2.tar%cd cvs-1.11.2%./configure (可以用./configure --help看看,根据自己的环境添加相应的参数)%make%su - (以正确的用户来安装)%make install1.2 CVS Server端的配置安装完CVS(假设cvs安装在/usr/local/bin)后:启动CVS服务%vi /etc/servicespserver 2402/tcp #cvs pserver port (确认这一行存在。

)%vi /etc/inetd.conf在文件末尾加入:pserver stream tcp nowait root /usr/local/bin/cvs cvs --allow-root=/your/path/for/cvs/repsitory pserver注意这是一行。

然后重新启动inetd进程(一般要root用户权限):%ps -ef | grep inetd 找出inetd的pid%su -%kill -HUP pid%inetd●建立cvsadm用户和组(使cvsadm用户属于cvsadm组,用于对cvs进行管理)在cvsadm用户的.cshrc(ksh,sh对应的文件为.profile)文件中设置环境变量$PATH变量中加入/usr/local/bin并置$CVSROOT为::pserver:cvsadm@192.168.4.33:/your/path/for/cvs/repository其中192.168.4.33为CVS服务器的IP地址。

CVS使用说明

CVS使用说明

检出项目,在某个目录,一般是用户目录运行:cvs co 模块名cvs co –r 版本名路径检出指定版本的文件检出某个模块,在cvs项目根目录运行:cvs co 模块名/路径/需要检出的目录名检查当前代码是否最新,运行cvs –n up –A -n表示运行但不改变硬盘数据添加文件1、添加入口:cvs add –m “注释”文件名2、添加文件:cvs ci –m“注释”文件名注意:提交前用cvs –n up –A检查,所有要提交的都是M状态,所有不需要提交的都没有改动。

否则若执行cvs ci *.v 可能会提交未知的修改更新文件运行:cvs up –A 实际上使用中是merge本次修改的和CVS上保存的信息。

-A 去除跟随文件的tags,dates信息(用tag等checkout文件的时候,cvs会记住该文件的tags,dates信息,并且在文件被修改和提交时,tag,dates等信息保持不变,造成版本混乱)-C发生冲突时,完全覆盖本地的文件(慎用)注意:推荐update前一定要先使用cvs –n up –A进行检查,不存在代码冲突时,再进行update 操作,否则,冲突的代码将被merge执行cvs update得到的状态信息如下:U [path] 服务器上有最新的或者最新版本的文件P [path] 像“U”一样,本地有该文件没修改过的旧版本时,在真正执行update(不用-n 选项)时,会update成新版本并标识PM [path] 这意味着您已经修改过该文件了;而且,有可能资源库中新的更改已成功地合并到该文件C [path] 错误警报,"C" 字符表明该文件存在冲突,需要在使用"commit" 提交前解决这冲突A [path] 该文件是计划要添加的,即添加了但尚未提交,这时你还使用update命令,CVS就会有这个提示,当你"commit" 时,它被正式添加到服务器库中,问题解决查看以往信息cvs log由于修改导致运行不了使用cvs diff查看当前文件和CVS上保存的文件的不同,格式:cvs diff test.c –将本地拷贝与仓库中最新版本进行对比打tag命令:cvs tag tag名字文件名(可以是多个)-d删除某个tag,cvs –d tag名字文件名(可以是多个)tag下载tag checkout(没用过,不清楚)显示文件状态cvs status [–vlR] files-v 显示tag等所有信息小技巧多多使用cvs –n up –A,在操作前确定代码状态执行cvs up –A之前执行cvs ci –m “modified” file之前cvs up命令推荐使用-A选项,避免使用-C-A去除跟随文件版本的tags/dates信息,以便以后修改上传的时候,新版本不再拥有旧tag,以免造成版本的混乱-C强制覆盖本地拷贝,可能造成未上传的改动丢失使用tag checkout下来的代码先up –A再修改原因与cvs up命令推荐使用-A选项相同这点很容易被忽视。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CVSROOT=:pserver:foo@cvsserver:/cvsreposit ory/ cvs login
五,CVS中的TAG(标记)
项目快照(snapshot) 用TAG来跟踪项目的状态(事件)
file1 file2 file3 file4 file5 <-*- TAG
1.1 1.1 1.1 1.1 /--1.1* 1.2*- 1.2 1.2 -1.2*1.3 \- 1.3*- 1.3 / 1.3 1.4 \ 1.4 / 1.4 \-1.5*- 1.5 1.6
八,CVS运用实例
两种作业同时进行
分 支 ( Update 作 业 )
(分支顶端)
开发主线(新机种对应作业) TagA(主干稳定点)
八,CVS运用实例
分支的创建及合并的时机
分支达到稳定状态-合并
branchTagA branchTagB (分支稳定点) (分支稳定点)
分 支 ( Update 作 业 )
四,CVS C/S 连接的几种方式
使用pserver方式连接CVS Server
Server Side设置
/etc/services /etc/inetd.conf或/etc/xinetd.d/cvspserver cvsrepository/CVSROOT/passwd
Client Side设置
CVS应用简介

一,CVS的发展简介
CVS(Concurrent Versions System)是现在比较 常用的一种版本控制系统. CVS的产生是为了适应自由软件的发展,和对分布 式协同开发进行有效的版本管理的需要. 90年代初,CVS发展成基于网络平台的应用系统, 并随之被广泛运用. 现在cvs已经能在Windows,Unix,Linux等多种os上 使用,功能也不断完善,因此也成为当前最流行 的版本控制软件之一.
十,几点使用经验
提交修改之前先update工作拷贝 除非确认无用,否则不要轻易删除项目中的文件 (代码),TAG和BRANCH TAG BRANCH 工作频繁的项目,在执行CVS操作时可能拒绝你 的请求,只是因为其它人在做commit操作,可稍 后再做 在执行commit操作的时候,可以用通配符*,但 应尽可能少用通配符* 抓住时机,多打TAG
/cvsdoc/zh_CN/book1.html
联机文档:info cvs

上一次合并
开发主线(新机种对应作业) TagA(主干稳定点)
八,CVS运用实例
主干达到稳定状态-先合并再创建
分支 (Update作业)
创建
(分支顶端)
合并
TagA (主干稳定点)
TagB TagC (主干稳定点)
开发主线 (新机种对应作业)
九,杂项
目录的删除:不能在工作拷贝下彻底删 除目录,必须在Repository中操作. Hook功能(trigger):可以利用hook功 能(通过配置commitinfo,loginfo, rcsinfo等文件)将一些 CVS动作与一些 操作帮定起来,例如:
连接方式mode有以下七种: ext:使用rsh,ssh或其他外部连接程序的连
接 server:与ext方式类似,区别是使用的 rsh由CVS内部实现
四,CVS C/S 连接的几种方式
pserver:使用password-authenticating server方式的连接 kserver:用kerberos验证的连接 gserver:用GSSAPI验证的连接 fork:连接本地源代码库,但使用C/S网 络协议,而不是直接访问本地源代码库 的文件 local:直接访问一个本地源代码库
Revision(修订版本) Repository(源代码库) Working Copy(工作拷贝) Check out(取出) Commit(提交) Log message(日志信息) Update(更新) Conflict(冲突)
三,CVS的一些术语
Conflict的一个例子
/* hello.c revision 1.6*/ #include <stdio.h> int main(void) { printf("hello world!\n); return 0; } } return 0; /* hello.c modified by user foo revision 1.7*/ #include <stdio.h> int main(void) { printf("hello!\n);
八,CVS运用实例
项目描述
ESMPRO/SA项目随时都有新机种对应作业 同时,还要定期的对已经Release的物件提供反映 BUG修正及功能改善的Update包 BUG Update
开发模式设计
利用CVS的分支功能,新机种对应作业在主干上进 行,Update作业在分支上进行,两种作业同时进行 制定组内作业规则,全组采用统一的开发方式,便 于代码的管理维护
十,几点使用经验
使用分支:
尽量减少分支的复杂度 用同一的命名方法来给所有的分支和合并事件命名 标签 尽可能频繁地合并(每当分支处于一个稳定点) 合并应该是将分支的上一次合并点(TAG)到分支 当前状态之间的差异合并到主干上
十一,参考资料
《CVS 开源软件开发技术》 / http://www.loria.fr/~molli/cvs/doc/cvs_ toc.html CVS手册中文版
可以通过设定CVSROOT下的commitinfo,可 以在提交某个目录下文件的动作发生时,自 动启动自己定义的文件检测脚本
九,杂项
可以通过配置CVSROOT下的notify,users, 并结合cvs watch,cvs edit和cvs unedit命 令,使得当某个开发人员在编辑某一文件 时,CVS通过mail自动通知另外一开发人员 其他相关配置文件:loginfo,rcsinfo等
/* hello.c with conflicts */ #include <stdio.h> int main(void) { <<<<<<< hello.c printf("world!\n); ======= printf("hello!\n); >>>>>>> 1.7 return 0; }
二,CVS的原理
CVS进行代码同步控制的原理是基于一种 "拷贝 修改—合并"的模式. 拷贝—修 拷贝 合 CVS采用"贮存差异 贮存差异"的方式存储所有的 贮存差异 提交 CVS的操作是分片进行 分片进行的,是一个目录一 分片进行 个目录进行的,而不是原子 不是原子的. 不是原子
三,CVS的一些术语
Cvs本身支持一些关键字的扩展,在文件 的注释中加入这些关键字,cvs会自动将 它扩展为相关的详细信息,这些关键字 的扩展信息对开发人员很有帮助.常用 的有:
$Author$:修改者 $Date$:修改的日期和时间 $Header$:文件绝对路径,版本,日期, 作者,状态
七,CVS关键字的扩展
$Id$:与$Header$类似,但没有文件绝对 路径 $Log$ $Log$:这个版本的登录信息,版本号,日 期和作者 $Name$:所贴标签(TAG)的名字 $Revision$:版本号 等等……
五,CVS中的TAG
如何对TAG命名 尽力将标记做得简洁是一个普遍规则, 同时该标记又要求能够包含具体开发项 目的所有必要信息.
六,CVS中的BRANCH(分支)
主干与分支 TAG与分支
Bug修复处
(合并) 分支 (分支顶端)
( 开 发 主 线) 建立分支的状态点, 通常由tag标识
七,CVS关键字的扩展
/* hello.c modified by user bar */ #include <stdio.h> int main(void) { printf("world!\n); return 0; }
四,CVS C/S 连接的几种方式
cvs -d :mode:bach@faun.example.or g:/work/cvsroot checkout foo
九,杂项
一些第三方工具:
cvsweb:Repository Web浏览工具
latest version: 1.112 http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/
Pcl-cvs:一个带有emacs界面的cvs ftp:///pub/monnier/pcl-cvs/ Xwindows下的cvs工具:Cervisia,lincvs wincvs
相关文档
最新文档