`

CVS使用技巧

阅读更多

粘滞性标签(Sticky Tag)
在CVS中,如果检出时指定版本树上的一个版本,对它进行的修改是无法直接提交的,这种情况下就叫Sticky Tag。解决方法可以是:

方法一:
1、要提交必须先在检出版本的地方创建分支,更新到分支,再修改提交到分支上。步骤如下:
从先前标记的里程碑:release_1_0 导出一个分支 release_1_0_patch:
cvs rtag -b -r release_1_0 release_1_0_patch proj_dir
2、在另外一个目录下导出 release_1_0_patch 这个分支,修改其中的bug:
cvs checkout -r release_1_0_patch
3、在release_1_0_patch上修正错误后,标记一个1.0的错误修正版本号:
cvs tag release_1_0_patch_1

方法二:
或者用"cvs update -A"命令更新,去掉粘滞性标签,-A选项将从文件版本更新到主干顶部,并且忽略中间的任何粘性标签、设置日期和选项。

正确的通过CVS恢复旧版本的方法
如果用cvs update -r 1.2 file.name
这个命令是给 file.name 加一个Sticky Tag: "1.2" ,虽然你的本意只是想将它恢复到1.2版本
正确的恢复版本的方法是:cvs update -p -r 1.2 file_name > file_name
如果不小心已经加成Sticky Tag的话:用cvs update -A 解决

恢复
CVS中被 Remove的文件
如果是执行了remove命令而没有提交的话,直接运行"cvs add 被删除的文件名"即可。
如果是执行了remove后又执行了commit,就要先运行"cvs add 文件名",然后选中这个文件,执行update,然后再执行commit。如:
cvs -r x.x(删除时的版本号) file > file
cvs add filename
cvs ci -m "file" file
注释:file是要恢复的文件名

移动文件/文件重命名
cvs里没有cvs move或cvs rename,因为这两个操作是可以由先cvs remove old_file_name,然后cvs add new_file_name实现的。

查看修改历史
cvs log file_name
cvs history file_name

删除/移动目录
最 方便的方法是让管理员直接移动,删除CVSROOT里相应目录(因为CVS一个项目下的子目录都是独立的,移动到$CVSROOT目录下都可以作为新的独 立项目:好比一颗树,其实砍下任意一枝都能独立存活),对目录进行了修改后,要求其开发人员重新导出项目cvs checkout project_name 或者用cvs update -dP同步。

项目多分支同步开发
确认版本里程碑:
cvs tag release_1_0
多个文件各自版本号不一样,项目到一定阶段,可以给所有文件统一指定一个阶段里程碑版本号,方便以后按照这个阶段里程碑版本号导出项目,同时也是项目的多个分支开发的基础。

开始一个新的里程碑:
cvs commit -r 2 标记所有文件开始进入2.x的开发
注意:CVS里的revsion和软件包的发布版本可以没有直接的关系。但所有文件使用和发布版本一致的版本号比较有助于维护。

版本分支的建立:
在开发项目的2.x版本的时候发现1.x有问题,但2.x又不敢用,则从先前标记的里程碑:release_1_0导出一个分支 release_1_0_patch
cvs rtag -b -r release_1_0 release_1_0_patch proj_dir

一些人先在另外一个目录下导出release_1_0_patch这个分支:解决1.0中的紧急问题,
cvs checkout -r release_1_0_patch
而其他人员仍旧在项目的主干分支2.x上开发

在release_1_0_patch上修正错误后,标记一个1.0的错误修正版本号
cvs tag release_1_0_patch_1

如果2.0认为这些错误修改在2.0里也需要,也可以在2.0的开发目录下合并release_1_0_patch_1中的修改到当前代码中:
cvs update -j release_1_0_patch_1


以上内容转载自车东的“CVS使用手册”和“加菲猫的SE-Blog”。


参考资料

1、CVS使用手册
2、CVS中文手册
3、CVS Home
4、CVSNT
5、WinCVS中文版
6、CVSNT用户权限设置

分享到:
评论

相关推荐

    Eclipse + CVS 使用技巧.doc

    Eclipse + CVS 使用技巧主要涉及了在Eclipse集成开发环境中使用CVS(Concurrent Versions System)版本控制系统的一些关键操作和注意事项。CVS是一种开源的版本控制系统,它允许开发者跟踪代码的变更并协同工作。 1...

    cvs使用技巧(最新可编辑文档).ppt

    cvs使用技巧(最新可编辑文档)

    Eclipse中CVS使用建议

    #### 三、高级CVS使用技巧 1. **分支管理**:在使用CVS的过程中,可能会需要创建分支来进行特定功能的开发或维护不同版本。在创建分支后,确保始终在一个特定的分支上工作,并且只提交与该分支相关的更改。 - 创建...

    CVS使用手册(cvs使用详解)

    **CVS(Concurrent Versions System)使用手册** ...使用CVS的技巧和最佳实践,可以帮助开发者避免错误,提高生产力。在实际项目中,结合CVS使用手册,可以更好地掌握这一工具,提升团队合作的效率。

    CVS配置.doc

    #### 三、CVS使用技巧与扩展 - **访问其他主机工程**: 通过在“Host”字段中填写目标主机的IP地址,可以实现跨主机访问工程。 - **利用URL访问资源**: 如输入`http://localhost/Lenovo/welcome.jsp`,可直接访问...

    CVS教学电子书如何安装CVS,CVS使用

    提供的《CVS教学.pdf》电子书应该是详尽的教程,它会覆盖以上所有内容,以及更高级的使用技巧,例如访问控制、日志管理和备份策略。同时,提供的“爱书吧-全国最大图书-课件免费下载.url”链接可能是获取更多相关...

    cvs详细配置包括服务器和客户端的详细介绍

    ### 三、CVS使用技巧与注意事项 1. **版本控制策略**:制定合理的分支和标签策略,以支持并发开发和版本发布。 2. **冲突解决**:当多个人同时修改同一部分代码时,可能会发生冲突。理解如何识别和解决这些冲突是...

    cvs的使用,给予一定的帮助

    #### 三、使用技巧与注意事项 - 在每次开始工作之前,应先运行`cvs update`以确保本地文件与仓库中的最新版本一致。 - 提交更改前应仔细检查所做修改,确保没有引入新的错误。 - 提交注释应该尽可能详尽,便于回溯...

    WinCVS从入门到精通

    《WinCVS从入门到精通》是一本专为学习CVS版本控制系统,特别是与Windows操作系统结合使用的用户编写的指南...无论你是初次接触版本控制的新手,还是希望提升CVS使用技巧的开发者,这本书都将是你不可或缺的参考资料。

    CVS中文使用手册PDF

    9. **最佳实践**:关于使用CVS的建议和技巧,如定期同步、版本命名规范等,以提高团队协作效率。 10. **安全性与备份**:了解如何保护CVS仓库的安全,以及如何定期备份,防止数据丢失。 这本手册对初学者来说尤其...

    Eclipse中CVS的使用

    ### Eclipse中CVS的使用详解 #### 一、CVS简介 CVS(Concurrent Versions System,并发版本系统)是一款开源版本...通过上述详细介绍,希望能帮助开发者们更好地掌握CVS的使用技巧,提升团队协作效率和代码管理水平。

    TortoiseCVS_CVS客户端工具

    "2ccc.com.nfo"通常是一个包含软件相关信息的文本文件,可能包含了关于TortoiseCVS的详细信息,包括使用技巧、注意事项或开发者信息。 总的来说,TortoiseCVS是CVS用户在Windows环境下提高工作效率的得力工具,通过...

    CVS客户端TortoiseCVS使用方法.docx

    ### CVS客户端TortoiseCVS使用方法详述 #### 一、TortoiseCVS简介与安装 **TortoiseCVS**是一款基于Windows环境下的图形化CVS客户端工具,它能够极大地简化开发者使用CVS的过程,使得版本控制变得更加直观易用。...

    CVS 教程教学笔记

    10. **最佳实践**:学习CVS的使用技巧和最佳实践,如定期更新、避免提交无用文件、合理规划分支策略等。 在【压缩包子文件的文件名称列表】中,尽管只有一个条目,但通常这可能包含一系列的教程文档、示例代码、...

    eclipse下cvs使用

    ### Eclipse下CVS使用详解 #### 一、配置与初始化 在使用Eclipse集成开发环境进行软件开发时,采用CVS作为版本控制系统是常见的实践。本文将详细介绍如何在Eclipse中配置并使用CVS,包括基本配置流程以及常用操作...

    CVS配置管理工具使用手册

    #### 二、TortoiseCVS入门操作技巧 **1. 安装** - **下载安装程序**:首先,需要从指定地址(例如`ftp://192.168.40.103/software/cvs/TortoiseCVS-1.8.13.exe`)下载TortoiseCVS的安装包,并将其安装到所需磁盘...

    GNU gcc使用教程

    - **cvs**:更深入的CVS使用技巧。 - **共享库工具**:管理动态链接库的工具。 - **代码优化**:提升代码性能的策略。 - **GNU编码标准**:遵循的编码风格和规范。 #### 10. 书籍推荐 - `gccmakefile写法蓝森林`:...

    MyEclipse使用CVS

    【正文】 MyEclipse是一款强大的Java集成开发环境,它提供了许多功能,包括对版本控制系统的支持,如CVS(Concurrent ...掌握这些技巧,开发者可以更好地利用MyEclipse进行CVS操作,实现高效且可靠的软件开发流程。

    cvs

    博主MichaelZQM可能分享了他在使用cvs过程中的经验和技巧,帮助读者更好地理解和掌握这个工具。 【标签】"源码"和"工具"表明cvs与源代码管理和开发者工具相关。源码管理是软件开发流程中不可或缺的一环,cvs作为一...

    CVS和SVN配置学习

    通过深入学习和实践CVS与SVN的配置,开发者可以更好地掌握版本控制的技巧,提高团队协作效率,保证项目的稳定性和可维护性。在实际工作中,根据项目需求和团队习惯,选择最适合的版本控制系统至关重要。

Global site tag (gtag.js) - Google Analytics