CVS 使用流程

获得working copy示例: cvs checkout pds

注: cvs用户必须首先获得working copy, 然后才能进行

代码维护以及版本控制. 第一次checkout后, 使用

cvs update同步文件.

与服务器同步文件示例: cvs update

注: 同步所有文件包括子目录. 好习惯:先同步后修改

修改源文件示例: cvs edit ppmp.c

注: 然后使用emacs或vi进行编辑

提交改动示例: cvs commit -m "add pppd killing" ppmp.c

注: -m 注释信息, 如果不指定, 则启动默认编辑器提示输入

注释信息

查看修改历史和注释信息示例: cvs log ppmp.c

查看状态示例: cvs status -v ppmp.c

===================================================================

File: ppmp.c Status: Up-to-date

Working revision: 1.3

Repository revision: 1.3 /home/cvsroot/pds/ppmp/ppmp.c,v

Sticky Tag: (none)

Sticky Date: (none)

Sticky Options: (none)

Existing Tags:

pds (revision: 1.1.1.1)

start (revision: 1.1.1.1)

PDS_1_0 (branch: 1.1.1)

status总共有四种状态:

Up-to-date: 表明ppmp.c是最新的.

Locally Modified: 表明你曾经修改过ppmp.c,但还没有commit,比仓库里的新.

Needing Patch: 表明别人已经修改过ppmp.c并且已commit了!仓库里的旧.

Needs Merge: 表明你曾经修改ppmp.c,但是别人也修改了它,而且还提交了!

添加文件和目录示例: cvs add session.c

注: 对非文本文件,使用cvs add -kb

然后: cvs commit -m"add session Management" session.c

删除文件示例: rm pppd_test.c

cvs remove pppd_test.c

cvs commit -m"delete pppd test" pppd_test.c

显示文件的每一行为谁所修改- cvs annotate ppmp.c

注:类似于ECMS的cmspr_ed

察看不同文件的区别- cvs diff -c -u -C 50 -r1.1 -r1.3 ppmp.c

注: 类似于ECMS的inspect

锁定分支- cvs admin -l PDS_1_0

锁定分支PDS_1_0

- cvs admin -l

锁定主分支

当你锁定某个分支时,别人就不能往该分支上commit code了.

-cvs admin -u PDS_1_0

解锁分支

CVS分支管理

创建分支

设定milestone(即pds-1.0)cvs tag PDS_1_0 pds

开始一个新的milestone, 标记2.0的开发cvs commit -r 2.0

注:当前所有的文件的版本号必须低于2.0

假如在开发pds-2.0时发现1.0有bug, 但2.0又不能用, 这时可以 从PDS_1_0导出一个分支:pds_1_0_b1.cvs rtag -b -r PDS_1_0 PDS_1_0_b1 pds

分支并行开发

在另外一个目录checkout出PDS_1_0_b1, 解决pds1.0中的bugcvs checkout -r PDS_1_0_b1

切换working copy到指定的分支cvs update -r PDS_1_0_b1 pds

tag分支- 在PDS_1_0_b1上fix bug后,标记一修正版本号

cvs tag PDS_1_0_p1

合并分支

如果这些bug在pds-2.0也存在,则需要合并分支PDS_1_0_b1到2.0cvs update -j PDS_1_0_b1

cvs commit -m "include pds1.0 bug fix"

注:改命令一定要在2.0的checkout目录里

+-----+ +-----+ +-----+ +-----+ +-----+

! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 2.0 ! +---! 1.2.2.1 !----! 1.2.2.2 !

再次合并分支假如在PDS_1_0_b1又发现了新的bug, 但是已经fix了, 并且已经标定 PDS_1_0_p2, 我们也希望把它合并到2.0中cvs update -j PDS_1_0_p1 -j PDS_1_0_b1

它的意思是把PDS_1_0_p1(tag)到PDS_1_0_b1(分支)变化了的部分合并2.0中(主干)

+-----+ +-----+ +-----+ +-----+ +-----+

! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 2.0 ! +---! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !

提示:当commit文件时,可能会出现冲突(即多人修改同一文件的同一区域), 这时需要手动解决冲突<<<<<<<<<<< printf("bye bye");

===========

printf("hello world");

>>>>>>>>>>> <1.15>

命令缩写:commit=>ci; update=>up; checkout=>co; remove=>rm;

TAG和revision的关系file1 file2 file3 file4 file5

1.1 1.1 1.1 1.1 /--1.1*

CVS每分一次支,版本号增加2位

cvs update 用法_CVS客户端使用指南相关推荐

  1. cvs update 用法_CVS的基本用法

    1.     安装服务器 在unix/linux平台上安装CVS服务器 安装是超级用户执行的.假设选择一台Linux服务器,假设主机名为hostcvs 进入目录cvs-1.11.1p1,运行: [ro ...

  2. cvs update 用法_cvs常用操作

    创建库 /home# mkdir cvsroot /home# cd cvsroot /home/cvsroot# export CVSROOT=/home/cvsroot/repository /h ...

  3. cvs update 用法_WinCVS的配置与使用方法

    1.WinCVS简介: WinCVS是CVS的一个客户端软件,它运行在Windows上,用来在Windows上登录CVS服务器,然后进行一些CVS相关的操作与管理.由于当前很多的企业内部都采用Linu ...

  4. 极光小课堂 | 极光推送之 Android 客户端使用指南——基础篇

    " 本文中涉及到的所有代码现已在 Github 上开源,地址:https://github.com/xuexiangjys/JPushSample" 01 前言 - 极光推送是国内 ...

  5. on duplicate key update用法及优缺点

    Mysql on duplicate key update用法及优缺点 在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,一般思路是将其实现分 ...

  6. cvs update 的输出标志/update常用几个参

    http://hithoper.blog.hexun.com/19367152_d.html http://man.chinaunix.net/develop/cvsdoc_zh/ update 和 ...

  7. ON DUPLICATE KEY UPDATE 用法与说明

    ON DUPLICATE KEY UPDATE作用 先声明一点,ON DUPLICATE KEY UPDATE为Mysql特有语法,这是个坑 语句的作用,当insert的时候如果对应的记录已经存在,则 ...

  8. sqoop2 java api实现_Sqoop2 Java客户端API指南

    原文连接:http://sqoop.apache.org/docs/1.99.6/ClientAPI.html Sqoop Java客户端API指南 这篇文章秒描述了额如何在外部应用中使用sqoop ...

  9. [BTS]BizTalk2006 SqlAdapter UpdateGram的Update用法

    使用UpdateGram更新表中的数据 目录 开发环境 开发目的 开发过程 总结 问题 开发环境 Windows2003 SP2 SqlServer 2005 BizTalik2006 VisualS ...

最新文章

  1. 数据结构源码笔记(C语言):分块法查找
  2. DL之DNN优化技术:DNN中参数初始化【Lecun参数初始化、He参数初始化和Xavier参数初始化】的简介、使用方法详细攻略
  3. Tomcat7和mysql连接池dbcp方式的配置方法和测试
  4. 怎么彻底重装清空电脑_电脑开不了机怎么重装系统?不用送去维修店啦!
  5. java 图类_Java集合类,一张图说清楚!
  6. 作者:​张群(1988-),女,博士,中国电子技术标准化研究院设备与数据研究室副主任。...
  7. html css做网页总结,学习CSS制作网页总结的一些经验
  8. java static method_java 中static的几种用法
  9. 嵌入式Linux系统编程学习之二十二内存映射
  10. Java基础学习总结(164)——别让Lombok使你的Java代码处于“亚健康”状态
  11. tshark/wireshark抓包小结
  12. Percona XtraBackup
  13. 创建hadoop 归档文件
  14. C语言: gotoxy函数
  15. Module not found: Error: Can‘t resolve ‘vue-router‘ in
  16. java基本数据类型
  17. 谈谈蛋疼的问题:里式替换原则:正方形是长方形吗?
  18. FAT,FAT32,NTFS
  19. 美国军方在“量子战”上的考量与布局
  20. 第一次笔试经历(CVTE)

热门文章

  1. Python 隔离沙箱 virtualenv
  2. 数字旅游解决方案_曼斯特科技提供智慧文旅主题展馆解决方案
  3. 2021牛年的春节一个人过
  4. 公交行业CPU卡总结(发卡,消费,充值)
  5. nextjs如何启动https服务
  6. 0-1之间最多两位小数的正则表达式
  7. Windows下用.bat运行Anaconda中的脚本方法
  8. 自然语言处理NLP学习笔记三:使用Django做一个NLP的Web站点
  9. 四十七、Vue路由导航卫视之实例解析
  10. python-opencv识别身份证图片并拼接