CVS使用说明
CVS操作手册
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客户端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
一、服务器搭建与配置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 (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用法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的配置和使⽤下⾯是搜集的资料///////////////////本⼈⽤的是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工具配置和使用指南
目录第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 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选项相同这点很容易被忽视。
cvs使用说明
在控制台输入:cvs passwd,然后控制台会提示将要修改密码,要求输入新的密码:
E:\>cvs passwd
Changing repository password for Able@Able
New password: ***
Verify password: ***
E:\>set cvsroot=:pserver:Administrator@Able:2401/CVS/Home
在控制台输入:cvs login,然后控制台会提示输入密码:
E:\>cvs login
Logging in to :pserver:Administrator@able:2401:/CVS/Home
user1
user2
user3
这些代表user1, user2, user3都是该项目仓库的管理员。将你想指派为管理员的用户的用户名加到文件的末尾,然后提交修改的文件。由于管理员拥有对CVS服务器比较大的使用权限,所以指派管理员的时候要比较小心。
4. 增加能够使用CVSROOT模块的用户
新创建的用户能够使用其账号连接到CVS服务器,但是目前只能够对该项目仓库进行签出操作,不能进行提交。必须让项目的创建者为其指定提交权限之后才能够进行提交。项目创建者是最高权限管理员,由其指定其他用户能够对项目仓库进行的操作,以及指派新的管理员。
3. 项目创建者对参与项目用户的管理
3. 在控制台环境下登录到CVS服务器
以下所讲的在控制台下的操作都是以Windows的控制台作为例子进行讲解,同时必须客户端安装了CVS。<%CVSROOT%>代表前面将账号信息拼装得到的CVSROOT。
CVS客户端使用入门
CVS客户端配置及使用说明注意:添加、更新文件的时候,一定要写上注释。
(一)、检出CVS服务器上的文件1、TortoiseCVS是最佳的CVS客户端软件,使用方便。
为了演示配置,先建立一个工程文件夹F:\billingcvstest。
如图:2、在billingcvsclient文件夹下,点击右键,选择 CVS->“选项”弹出窗口中选择策略选项卡,取消“删除空文件夹”前面的打钩3、在billingcvsclient文件夹下,点击右键,选择 CVS 取出在下面窗口中填写好登录信息:直接在CVSROOT:填写上:pserver:xxxxx@134.32.82.97:2401:/billingcvsxxxxx需要替换成自己的notesid然后点击右侧“获取列表”。
这时会提示输入密码。
输入个人密码即可。
初始密码都是111111 这时就会在右侧列表中列出服务器上的目录,选择一个自己需要的目录,点击确定即可。
比如上面选择“账务处理”,点击确认后,就会进行文件的检出。
检出后如下图:(二)、将一个新的文件检入CVS服务器如下图,在文件夹上点击右键,选择 CVS添加内容弹出下面窗口,选中“显示在子目录中的条目”点击“确定”。
然后再在文件夹上点击右键,选择 CVS提交。
即可。
加入版本控制后,文件夹上会出现一个小对号。
(三)、从CVS服务器上获取文件的最新版本在文件或文件夹上点击右键,选择CVS更新。
(四)、将修改过的文件检入CVS服务器在文件上点击右键,选择“CVS 提交”。
即可。
cvs客户端使用说明
CVS客户端使用说明公司CVS服务器说明CVS服务器地址:10.70.9.11CVS服务端口号:2401Repository folder: /data7/cvsadmin/repositoryWindow环境下使用cvs客户端目前流行的windows cvs客户端软件有:WinCvs和TortoiseCVSTortoiseCVS使用TortoiseCVS安装1.可以从网址下载最新版本的TCVS,保存到你的硬盘的本地临时目录(/)2.运行安装程序,如果你运行的系统是WINNT或者WIN2000,你必须有本地超级用户权限来进行安装.3.选择一个TCVS地安装目录,默认得是 C:\Program Files\TortoiseCVS.4.选择安装类型,完成 简洁 定制 安装模式,如果你希望获得国际化支持,你应该选择完全或者定制安装选项。
.5.当安装完成,你应该重新启动计算机让TCVS完成整个安装过程注:严格的来说,只是需要重新启动WINDOWS资源管理器,如果你勇于冒险,你可以尝试杀掉资源管理器进程于任务管理器中,有时候WINDOWS将自动启动一个新的资源管理器实例,有时候你不得不自己运行一个取出模块1.在本地创建一个目录,用以存放公司的源代码。
比如E:\dev\asiainfo2.点击右键,执行如图命令3.弹出如下界面:●Protocol(协议) 用来同CVS仓库通讯的协议。
使用Password server(:pserver:)●Protocol parameters(协议参数):不填任何东西●Server(服务器):CVS仓库所在地服务器名称。
可以是服务器名称,也可以是IP地址,这里使用IP地址:10.70.9.11●Port(端口):CVS仓库端口号通常不需要填写。
不填时使用默认的端口。
这里填写2401。
●Repository folder:远端服务器定义的CVS仓库本地路径。
填写/data7/cvsadmin/repository●UserName(用户名称):使用你登录CVS的用户名称。
CVS客户端安装及使用简单指南
CVS客户端安装及使用简单指南CVS是一个版本控制系统,它被广泛用于帮助管理软件开发项目的代码。
本指南将向您介绍如何安装和使用CVS客户端。
第一部分:安装CVS客户端步骤3:完成安装。
一旦安装完成,您将在计算机上找到CVS客户端软件的快捷方式。
使用这些快捷方式来启动CVS客户端。
第二部分:使用CVS客户端步骤1:配置CVS客户端。
在首次使用CVS客户端之前,您需要进行一些配置。
打开CVS客户端,并找到配置选项。
您需要输入有关CVS服务器和您的帐户的信息。
按照向导的指示完成配置过程。
步骤4:提交更改。
要将您的更改提交到CVS服务器,请在CVS客户端中找到提交选项。
输入适当的提交消息,并单击提交按钮。
您的更改将被传输到服务器,并与代码库中的其他更改合并。
步骤6:解决冲突。
如果在更新本地代码时发生冲突(即,您和其他人对同一行代码进行了更改),您需要手动解决这些冲突。
CVS客户端通常会在冲突发生时提供解决选项。
通过选择适当的操作来解决冲突。
步骤7:发布代码。
一旦您对代码进行了更改并提交到服务器,您可以决定何时发布这些更改。
通过将项目标记为已发布或创建一个发布版本来完成此操作。
其他人可以根据这些发布信息来获取代码的特定版本。
步骤8:其他CVS操作。
除了基本的代码检出、更改和提交外,CVS 客户端还提供其他功能,例如分支、标记和日志。
这些功能可以帮助您更好地管理和跟踪您的项目代码。
现在,您已经了解了安装和使用CVS客户端的基本步骤。
务必熟悉CVS客户端提供的各种功能和选项,以便更好地管理您的代码。
开始使用CVS来帮助您的软件开发项目更加高效和有序吧!。
cvs简明使用方法
CVS简明使用方法1.登录注销代码仓库export CVSROOT=:pserver:user@cvs_server:pathcvs login其中user是CVS服务器上上具有登录所要登录的代码仓库权限的用户,cvs_server是具体的CVS服务器地址,path是所要登录的代码仓库的路径例:export CVSROOT=:pserver:ltx@192.168.0.203:/usr/BH-PROJECTS/sshproxy cvs login以上命令输完后系统会提示输入密码,密码正确且有权限后即可登录192.168.0.203这台CVS服务器上名为sshproxy的代码仓库注销登录命令为:cvs logout2.获得源码的副本cvs checkout modules或者是简写cvs co modules其中modules为所登录的代码仓库下的某模块名称例:键入1中的登录命令之后执行如下命令cvs co mainline该命令表示从1中登录的代码仓库sshproxy里取出名为mainline模块的源码副本到当前目录3.同步工作目录与源码cvs update或者是简写cvs up该命令不加任何参数的时候会去检查当前工作目录上的源码文件和CVS服务器上的源码文件有哪些不同,并把不同的文件列出来,后面可加文件或目录作为参数,意为检查某文件或者某目录下的文件是否和CVS服务器上的源码有不同4.显示不同版本之间的差异cvs diff该命令不加任何参数的时候即为cvs update的强化版,不仅列出不同的文件,而且还列出文件里不同的位置,同样也可以在后面加文件或目录作为参数5.添加新文件或者目录添加新文件cvs add file 添加新目录cvs add path --> mkdir path cvs add path其中file为要添加的文件,path为要添加的目录需要注意的是添加二进制文件需要加上-kb参数cvs add –kb file,cvs服务器本身不能很好有效的识别一个文件是否是2进制文件,所以需要我们自己手动加上这个参数,如果2进制文件不加这个参数上传会导致该文件当成文本文件处理造成数据丢失例:cvs add test.ctest.c为当前工作目录下已经存在了的一文件,执行该命令后将会把该文件添加进CVS服务器上具体已经登录了的代码仓库里cvs add testtest为当前工作目录下已经存在了的一目录,执行该命令后将会把该目录添加进CVS 服务器上具体已经登录了的代码仓库里6.从仓库里删除文件cvs remove file或者简写cvs rm file其中file为想从代码仓库里删除的文件例:cvs rm test.c该命令将从所登录了的代码仓库里删除test.c这个文件,注意,要删除的文件必须和当前的工作目录相对应,而且当前的工作目录也必须已经删除了对应名字的文件加强版命令cvs remove –f file或者简写cvs rm –f file增加了-f参数后可以同时删除当前工作目录下以及cvs服务器上的文件7.将修改提交到仓库cvs commit或者简写cvs ci该命令将所做的修改提交到仓库,包括修改添加删除了文件或者目录,最后都要执行一次这个命令将所做的修改提交打仓库,改命令后面还可以接具体的文件名或者目录名,意为将具体的文件或者目录所做的修改提交到仓库8.导入模块cvs import –m msg modules vendor-tag release-tag其中msg为日志消息,modules为导入的模块名称,vendor-tag和release-tag均为标签,前者为分支的标签,后者为唯一确定导入的发行标签例:cvs import -m "bh sshproxy release 4.1" sshproxy_v4_1 source-v4_1 release-v4_1 该命令向已经登录了的代码仓库里导入名为sshproxy_v_4_1的模块,分支标签为source-v4_1,发行标签为release-v4_1,日志注释为”bh sshproxy release 4.1”,改模块所包含的内容即为当前工作目录下的所有文件以及目录9.查看文件更改日志信息cvs log file显示的head:后面的为该文件当前版本号10.下载指定版本号的某个文件cvs up –p –r version filename > newname其中filename为欲下载的文件,version为欲下载的某个版本的该文件的版本号,newname为下载下来的文件的重新定向的新名字例:cvs up –p –r 1.1 test.c > test_1_1.c该命令将下载1.1版本的test.c并重定向到test_1_1.c文件中。
CVS使用手册
CVS使用手册(UNIX)目录CVS安装和配置 (2)安装: (2)配置: (2)CVS常用命令 (4)常用命令举例: (5)命令列表 (8)CVS常见问题答疑: (14)CVS安装和配置安装:1、从CVS网站()免费获得CVS的安装源码文件,例如下载:cvs-1.11.tar.gz文件。
2、将cvs-1.11.tar.gz文件拷贝到配置管理服务器上,本例以SCO Unix Openserver 服务器为例。
3、用gzip解压缩$gzip –dvf cvs-1.11.tar.gz /*可以用Winzip把cvs-1.11.tar.gz解开成cvs-1.11.tar,注意在WINZIP提问是否要全部解开时,回答NO。
*/4、再用tar命令解开文件:$tar xvf cvs-1.11.tar5、到解压缩后的CVS 目录:$cd cvs-1.116、在cvs-1.11目录下执行以下命令:$./configure /* ./configure --prefix=/usr */$make$make install7、如果没有出现任何错误提示,表示安装成功。
可用以下命令验证CVS可执行文件已经安装成功:$find ./ -name cvs –print (默认在/usr/local/bin下)配置:服务器端配置:1、创建项目用户组和用户帐号以超级用户身份创建项目开发用户组和用户帐号(包括CVS管理员用户),假设以informix作为项目用户组,包含成员:Richard、Paul、marry,CVS系统管理员为:cvsroot 创建项目用户组informix:$groupadd informix创建informix组内用户帐号命令:$useradd –g informix username–p password分别用Richard、Paul、marry、cvsroot代替username为项目组成员及CVS系统管理员创建组内用户帐号和密码。
CVS使用指南
CVS使用指南1 概念CVS是Client/Server结构的并行版本控制系统。
资源库(repository)存在于服务器上,所有版本的数据仓库。
可以把它想象成一个数据库服务器。
模块(module)在资源库上,被当成一个整体来维护的版本对象,一个模块由若干文件、目录组成。
例如,可以把一个项目当成一个模块。
模块可以被当成一个整体被导入(import)、检出(checkout)。
分支(branch)一个模块的变化可以形成多个并行的分支。
分支可以成为一棵树。
分支可以看成整个模块的版本。
主分支被称作HEAD。
标记(tag)在某一时刻,模块中所有的文件处于各自的不同版本,为了保存当前模块的状态,可以对模块做一个标记。
将来可以按照这个标记检出文件。
相当于一个快照。
分支的形成是基于标记的。
一个标记可以是分支标记。
标记是应用于文件的,当按照标记检出的时候,只有带某个标记的才被检出。
可以对模块做标记,也可对一些文件做标记。
修订版(revision)对文件修改的版本号。
用系统自动用1.2.3.6之类的来标识。
2 使用2.1 登录、注销cvs login这时候cvs会问密码,输入密码。
如果没有任何错误信息,登录成功。
成功登录后将建~/.cvspass文件,保存你的口令,以后就不用输入口令了.cvs logout2.2 检出(checkout)cvs checkout module_name把一个模块从服务器上检出,到本地计算机上。
一个模块只需要在开始使用的时候检出一次,以后使用更新。
2.3 更新文件cvs update filename将文件同步到最新的版本:不指定文件名,cvs将同步所有子目录下的文件。
最好每天开始工作前或将自己的工作导入到库里前都要做一次,并养成"先同步后修改"的习惯,和Virvual SourceSafe不同,CVS里没有文件锁定的概念,所有的冲突是在commit之前解决,如果你修改过程中,有其他人修改并commit到了库中,CVS会通知你文件冲突。
CVS基础使用手册
CVS基础使用手册百度在线网络技术(北京)有限公司2006-8-2文档修订记录目录1 Wincvs基础操作 (5)1.1 配置wincvs环境 (5)1.1.1 初始设置 (5)1.1.2 设置本地工作目录 (5)1.2 登录及注销 (6)1.2.1 登录 (6)1.2.2 注销 (6)1.3 基础操作 (6)1.3.1 cvs checkout (6)1.3.2 cvs update (8)1.3.2.1 update到主干最新版本 (8)1.3.2.2 update到某一个特定版本 (8)1.3.3 添加、修改、删除文件 (9)1.3.3.1 cvs add (9)1.3.3.1.1 添加目录 (9)1.3.3.1.2 添加文件 (10)1.3.3.2 modify (11)1.3.3.3 cvs delete (11)1.3.4 cvs tag (11)1.3.4.1 新增tag (11)1.3.4.1.1 对目录打tag (11)1.3.4.1.2 对文件打tag (12)1.3.4.2 删除tag (12)1.3.5 cvs log (13)1.3.6 cvs status (14)1.3.7 cvs diff (14)1.3.8 cvs graph (15)1.3.9 分支开发 (16)2 linux命令行基础操作 (16)2.1 配置环境变量 (16)2.2 登录及注销 (16)2.2.1 登录 (16)2.2.2 注销 (17)2.3 基础操作 (17)2.3.1 checkout (17)2.3.2 update (17)2.3.2.1 update到主干最新版本 (17)2.3.2.2 update到某一个特定版本 (17)2.3.2.3 异常情况说明 (17)2.3.3 添加、修改、删除文件 (18)2.3.3.1 cvs add (18)2.3.3.1.1 添加目录 (18)2.3.3.1.2 添加文件 (18)2.3.3.1.3 添加文本文件 (18)2.3.3.1.4 添加二进制文件 (18)2.3.3.2 modify (18)2.3.3.3 cvs delete (18)2.3.3.4 cvs ci (19)2.3.4 cvs tag (19)2.3.4.1 新增tag (19)2.3.4.2 删除tag (19)2.3.4.3 覆盖已经存在的tag (19)2.3.5 cvs log (20)2.3.6 cvs status (20)2.3.7 cvs diff (20)2.3.7.1 分支开发 (20)1Wincvs基础操作1.1 配置wincvs环境1.1.1 初始设置在wincvs主窗口,点击“Admin-Preferences……”,如下图所示:选择“Preferences”后,出现如下窗口:在该窗口中,在“Enter the CVSROOT”栏设置用户名以及服务器地址,设置格式如下:username@172.18.23.201:/data/cvsroot其中172.18.23.201:/data/cvsroot 是cvs服务器的ip以及安装路径;1.1.2 设置本地工作目录在如下窗口设置本地工作路径:1.2 登录及注销1.2.1 登录点击“Admin”-“login”,在出现的窗口中输入用户密码,如果输入密码正确,则会出现如下信息:cvs -q login(Logging in to jiangju@172.18.23.201)*****CVS exited normally with code 0*****如果密码输入错误,会出现如下信息:cvs -q login(Logging in to jiangju@172.18.23.201)cvs login: authorization failed: server 172.18.23.201 rejected access to /data/cvsroot for user jiangju*****CVS exited normally with code 1*****注意:1、在wincvs中,凡是操作成功,都会出现“CVS exited normally with code 0”的信息,如果操作失败,会出现“CVS exited normally with code 1”的信息;2、在wincvs中,在login成功后,如果不做logout操作,那么这次登录是永远生效的;故如果在公用机器上login之后,为了保证信息安全,必须执行logout操作;1.2.2 注销点击“Admin”-“logout”,直接登出,会返回如下信息:cvs -q logout(Logging out of jiangju@172.18.23.201)*****CVS exited normally with code 0*****1.3 基础操作1.3.1 c vs checkout第一次操作需从cvs服务器端checkout自己有权限的目录。
CVS使用说明书
目录1 CVS简介 (2)2 CVS的术语 (2)3 CVS服务器端的安装 (3)4 CVS服务器端的配置 (6)4.1 创建CVS资源库 (6)4.2 防火墙设置 (8)4.3 添加用户 (8)4.4 用户权限 (8)5 Eclipse连接CVS服务器端 (9)6 Eclipse使用CVS (12)6.1 与VSS的不同 (12)6.2 提交项目 (12)6.3 提交文件 (18)6.4 查看提交历史记录 (19)6.5 检出项目 (19)6.6 冲突问题 (22)6.7 产生版本 (25)6.8 修改旧版本的BUG (27)6.9 团队开发实践建议 (30)CVS使用说明书1CVS简介CVS为“并发版本控制系统(Concurrent Versions System)”CVS服务器端下载:/cvsnt/2CVS的术语资源库(Repository) ——资源文件的集合,版本管理的容器。
在CVS服务器的根目录,在Eclipse中常称为CVS资源库。
模块(Module) ——资源文件的组织形式,CVS服务器根目录的第一级子目录,在版本管理系统中表现形式为目录。
检出(Checkout) ——将CVS资源库中的整个模块导出到本地Eclipse中。
导入(Import) ——将资源库之外的软件模块导入本地,提交整个目录结构并构建一个新的模块。
导出(Export) ——从资源库中取出模块。
使用Export方式取出的模块复本不包含版本管理的相关信息,对该模块复本的修改也不能反映到资源库。
修订版(Revision) ——对文件的每次修改提交后,将产生一个新的修订版本,通常CVS版本管理系统用修订版来管理文件的修改履历,修订版用版本号来表示。
发行版(Release) ——这个发行产品的版本。
更新(Update) ——将资源库中模块文件的最新状态反映到工作空间的复制操作。
标签(Tag) ——在一个开发的特定期对一个文件集给定的符号名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五,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