http://hithoper.blog.hexun.com/19367152_d.html

http://man.chinaunix.net/develop/cvsdoc_zh/

updatecheckout 在执行中,会为每个文件打印一行提示信息,文件的状态通过前面的单个字符指明:

U file
文件按要求从仓库得到更新。用在那些仓库里面有但你的工作目录没有的文件,以及工作目录里面没有修改过,但旧于仓库的文件。
P file
类似 `U',但是 cvs 服务器发送的是补丁而不是整个文件。完成与 `U' 同样的工作,但降低带宽的使用。
A file
添加到你的私人副本中,当你使用 commit 后会加到仓库。这可以提醒你需要提交文件。
R file
从你的私人副本中删除,当你执行 commit 命令后会从仓库清除。这可以提醒你文件需要提交。
M file
在你的工作目录中,文件已经修改。

`M' 可以标明你工作的文件的两种状态: 同样的文件仓库里面没有修改,你的文件仍保持原样; 或者仓库里面的文件也有修改,但在工作目录里成功合并,没有冲突发生。

如果合并,cvs 将打印一些信息,并建立工作文件的备份(与 update 执行前相同)。update 运行时会打印相应的名字。

C file
合并你与仓库中修改到 file 时检测到冲突。file (你工作目录里面的副本) 是合并两个修订版的结果; 工作目录里面还有未修改文件的副本,名为 .#file.revision,其中 revision 是你修改的文件所基于的修订版。解决冲突见 Conflicts example 说明。 (注意,在有些系统里面,如果一段日子没有访问 .# 起头的文件,系统会自动清除。如果你需要保留这些原始的文件副本,最好将其改名) vms 系统中,文件名以 __ 开始,而不是 .#。
? file
file 处于工作目录,但是仓库里面没有对应的文件,它们也不是 cvs 忽略的文件(参见 `-I' 选项的说明,以及 参阅 cvsignore)。

update的几个常用参数:

-D date
使用不迟于 date 的最新修订版。这是一个粘性的选项,含有 `-P'。见 Sticky tags,了解更多粘性标签/日期的信息。
-f
只与 `-D' 或 `-r' 标识一起使用。如果没有匹配的修订版,获取最新的修订版(而不是忽略这些文件)。
-k kflag
根据 kflag 处理关键字。参阅 Keyword substitution。此选项是粘性的; 以后在这个工作目录里面更新,还是使用相同的 kflagstatus 命令可以看到粘性的选项。参阅 Invoking CVS,了解 status 命令的信息。
-l
只在当前工作目录里面执行。 参阅 Recursive behavior.
-P
清除空目录。参阅 Moving directories.
-p
管道方式输出到标准输出。
-R
递归方式检出(默认)。 参阅 Recursive behavior.
-r tag[:date]
获得 rev 修订版/标签,或者当 date 指定,并且 tag 是分支标签,分支 tag 上的版本可以当作是在 date 上。此选项是粘性的,含`-P'。参阅 Sticky tagsCommon options 了解更多粘性标签/日期的信息。

update 还有一些特殊的选项。

-A
重置任何的粘性标签,日期,或 `-k' 选项。参阅Sticky tags,了解更多粘性标签/日期的信息。
-C
用仓库里面干净的副本覆盖本地的修改(但修改过的文件另存为 .#file.revision)。
-d
创建仓库里面存在而工作目录里面没有的目录。通常,update 只作用于你工作目录里面已经存在的文件和目录。

此选项通常用来更新最初检出创建的目录; 但也有不好的副作用。如果你在建立工作目录时,刻意避免仓库里面的某些目录(通过模块名,或在命令行上明确指定所需的文件和目录),用 `-d' 选项更新将创建这些你不想要的目录。

-I name
更新时忽略匹配 name 的文件(在工作目录里面)。你可以在命令行上多次使用 `-I' 指定多个要忽略的文件。`-I !' 可以避免忽略任何文件。参阅 cvsignore, 了解 cvs 忽略文件的其他方式。
-Wspec
指定更新时需要过滤的文件名。你可以重复使用此选项。

spec 可以是文件名模板,与 .cvswrappers 文件里面的类型相同。参阅 Wrappers.

-jrevision
通过两个 `-j' 选项,合并第一个 `-j' 选项指定的修订版至第二个 `j' 选项修订版的变更到工作目录。

使用一个 `-j' 选项,合并最初的修订版至 `-j' 选项指定修订版的变更到工作目录。最初的修订版是工作目录文件基于的修订版和 `-j' 选项指定修订版共同的祖先。

注意使用 `-j tagname' 选项而不是 `-j branchname',合并的通常不是从分支上删除文件的变更。参阅 Merging adds and removals, 了解详细情况。

另外,每个 `-j' 选项可以包含可选的日期规格,当用于分支时,可以限制修订版处于指定日期之内。可选的日期通过分号(:)加在标签里面: `-jSymbolic_Tag:Date_Specifier'.

===

http://man.chinaunix.net/develop/cvsdoc_zh/Keyword-substitution.html#Keyword-substitution

只要你在工作目录中编辑源代码,你可以随时使用 `cvs status' 和 `cvs log' 命令了解文件的状况。一旦你从开发环境中导出了这些文件,将很难识别这些文件的版本。

cvs 提供一种关键字替换(keyword substitution),或者叫作关键字扩展(keyword expansion),机制来帮助识别这些文件。在文章中嵌入 $keyword$$keyword:...$ 形式的字符串,以后在获得文件新版本时将自动被 $keyword:value$ 字串所替代。

  • Keyword list: 关键字
  • Using keywords: 使用关键字
  • Avoiding substitution: 避免替换
  • Substitution modes: 替换模式
  • Configuring keyword expansion: 配置关键字扩展
  • Log keyword: $Log$ 关键字的问题。

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

12.1 关键字列表

这是关键字列表:

$Author$
检入该版本的用户登录名。
$CVSHeader$
标准的头部(类似去掉 CVS 根的 $Header$)。包括 rcs 文件的全路径、版本号、日期(UTC)、作者、状态、加锁人(如果有锁)。在使用 cvs 中文件通常不用加锁。

注意,该关键字是新加到 cvs 的,假如旧的文件中有 $CVSHeader$ 并有其他意义,会带来一些问题。可以在 CVSROOT/config 中用 KeywordExpand=eCVSHeader 来排除此关键字。参阅 Configuring keyword expansion。

$Date$
该版本被检入的日期与时间(UTC)。
$Header$
标准的 header 包括 rcs 文件的全路径、版本号、日期(UTC)、作者、状态、加锁人(如果有锁)。 在使用 cvs 中文件通常不用加锁。
$Id$
除了 rcs 文件不包括路径,其余和 $Header$ 相同。
$Name$
检出此文件所用的标签名。该关键字只在检出时显式加上标签时扩展。比如,运行 cvs co -r first 命令时,关键字扩展为 `Name: first'。
$Locker$
锁定版本的用户登录名(如果没有加锁此项为空,一般就如此,除非使用 cvs admin -l 加锁)。
$Log$
日志信息在提交时提供,前面是一个 header 包括 rcs 文件名、版本号、作者、日期(UTC)。已有的日志信息不会被替换。相反,新日志信息将插在 $Log:...$之后。默认,每一新行前面使用同样的 $Log$ 关键字前的字符串, 除非在 CVSROOT/config 里面设置 MaxCommentLeaderLength

例如,文件文件包含:

            /* Here is what people have been up to:
*
* $Log: frob.c,v $
* Revision 1.1  1997/01/03 14:23:51  joe
* Add the superfrobnicate option
*
*/

新增的行扩展 $Log$ 关键字后前面也会带有 ` * ' 字符。与以前版本的 cvs 和 rcs不同,rcs 文件中的不再使用 comment leader。 $Log$ 关键字将会在源文件中累积日志纪录。有些原因可能会造成问题。

如果 $Log$ 关键字的前缀超出 MaxCommentLeaderLength 长度, CVS 将跳过关键字扩展,除非在 CVSROOT/config 中设置 UseArchiveCommentLeader,并且有 `comment leader' 设置在 RCS archive 文件,使得 comment leader 替代使用。为了了解更多关于 RCS archive 中设置 comment leader,参阅 admin. 了解更多默认的 $Log$ 替换配置,参阅 config.

参阅 Log keyword.

$RCSfile$
不带路径的 RCS 文件名。
$Revision$
该文件的修订版本号。
$Source$
RCS 文件的完整路径。
$State$
赋予版本的状态。可以通过使用 cvs admin -s 命令设置状态—参阅 admin options。
Local keyword
CVSROOT/config 文件中的 LocalKeyword 选项可以被用作其他关键字的别名: $Id$, $Header$, or $CVSHeader$。例如,在 CVSROOT/config 中包含 LocalKeyword=MYBSD=CVSHeader 这样一行,带有 $MYBSD$ 的文件会像 $CVSHeader$ 一样被扩展。如果 src/frob.c 文件包含这个关键字,像下面这样:

            /*
* $MYBSD: src/frob.c,v 1.1 2003/05/04 09:27:45 john Exp $
*/

许多仓库使用 “local keyword” 这类特性。 cvs 的一个旧补丁提供 LocalKeyword 特性,它们使用称为“custom tag”或“local tag”特性的 tag= 选项。它被用于它们称为 tagexpand= 选项。在 cvs 中另一个选项为 KeywordExpand。参阅 Configuring keyword expansion。

知名的项目中有这些例子: $FreeBSD$, $NetBSD$, $OpenBSD$, $XFree86$, $Xorg$.

使用它的优点在于可以使用自己的版本信息而不破坏上面版本(它们可能使用不同的 local keyword 或标准关键字)。使得 bug 报告可以更恰当地识别第三方的错误源,以及减少导入新版本时产生的冲突数。

除 local keyword 之外所有的关键字都可以在 CVSROOT/config 文件中用 KeywordExpand 选项停用—参阅 Configuring keyword expansion 获得详细信息。

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

12.4 替换模式

每一个文件保存有一个默认的替换模式,每个文件的工作目录副本也有一个替换模式。前者通过用 `-k' 选项的 cvs addcvs admin 命令设置; 后者用 `-k' 或 `-A' 选项的 cvs checkoutcvs update 命令设置。 cvs diff 命令也有一个 `-k' 选项。参阅 Binary files 和 Merging and keywords 获得这些例子。

可用的模式为:

`-kkv'
使用默认形式产生关键字字符串,如。 $Revision: 5.7 $ 对于 Revision 关键字。
`-kkvl'
类似 `-kkv',如果指定的版本现在被加锁,还需要插入加锁者的名字。锁名与使用的 cvs admin -l 命令相关。
`-kk'
在关键字字符串中只生成关键字名;忽略其值。例如,对于关键字 Revision,生成的字符串是 $Revision$ 而不是 $Revision: 5.7 $。这一选项在比较版本差异时忽略关键字替换的影响非常有用(参阅 Merging and keywords)。
`-ko'
生成旧的关键字字符串,在工作中的文件与检入前一样。例如:对于关键字 Revision,如果检入前字符串是 $Revision: 1.1 $,则生成的字串与以前相同而不会是 $Revision: 5.7 $
`-kb'
类似 `-ko' 选项,并阻止换行字符的转换,这种转换是因为换行符在仓库(只是换行) 的形式与客户机使用的操作系统不同。对有些系统,比如 Unix,换行符就是行中止符,这样就和 `-ko' 没什么区别。关于二进制文件的更多信息,参阅 Binary files。在 cvs 版本 1.12.2 及之后的 `-kb',不会被在命令行中使用 `-k' 选项的 cvs addcvs admincvs import 跨越。
`-kv'
只为关键字符串生成关键字值。例如,对于关键字 Revision,生成的字串是 5.7,而不是 $Revision: 5.7 $。这种方法有助于一些难以从 $Revision: $ 这样的字符串中剥去关键字分界符的编程语言生成文件。但是,一旦删除关键字名,以后将不能执行关键字替换,所以应小心使用该选项。

通常将 `-kv' 选项与 cvs export 命令配合使用 —参阅 export。但请注意,它不能正确导出的文件中的二进制文件。

cvs update 的输出标志/update常用几个参相关推荐

  1. php 输出 cvs,php将数组转换成cvs格式并输出的简单示例

    这篇文章主要为大家详细介绍了php将数组转换成cvs格式并输出的简单示例,具有一定的参考价值,可以用来参考一下. 对php将数组转换成cvs格式文件输出感兴趣的小伙伴,下面一起跟随512笔记的小编两巴 ...

  2. SAP CRM IBASE在ABAP update task中实现update和delete操作

    本文介绍SAP CRM IBASE在ABAP update task中实现update和delete操作的原理. 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  3. MySQL update For_mysql SELECT FOR UPDATE语句使用示例

    以MySQL 的InnoDB 为例,预设的Tansaction isolation level 为REPEATABLE READ,在SELECT 的读取锁定主要分为两种方式: SELECT ... L ...

  4. mysql 用update insert_mysql 一些insert/update的用法

    在MySQL中进行条件插入数据时,可能会用到以下语句,现小结一下.我们先建一个简单的表来作为测试: CREATE TABLE `books` ( `id` INT(11) NOT NULL AUTO_ ...

  5. 12对胸椎对应体表标志_胸部检查第一节胸部的体表标志与常用标记线

    <胸部检查第一节胸部的体表标志与常用标记线>由会员分享,可在线阅读,更多相关<胸部检查第一节胸部的体表标志与常用标记线(18页珍藏版)>请在人人文库网上搜索. 1.胸 部 检 ...

  6. cvs的console输出含义

    update 和 checkout 在执行中,会为每个文件打印一行提示信息,文件的状态通过前面的单个字符指明: U file 文件按要求从仓库得到更新.用在那些仓库里面有但你的工作目录没有的文件,以及 ...

  7. 猿创征文|mybatis 字段与数据库关键字冲突了怎么办、mybatis for 循环查询输出、mybatis常用标签

    mybatis 字段与数据库关键字冲突了怎么办 如update join_brand_hot set index = #{top} where id = #{id} 这样明显会因为index与索引关键 ...

  8. oracle update语句提交,Oracle UPDATE语句使用示例

    本文概述 在Oracle中, UPDATE语句用于更新表中的现有记录.你可以通过两种方式更新表. 传统更新表方法 句法: UPDATE table SET column1 = expression1, ...

  9. php update语句,php中update语句用法介绍

    php中update语句用法介绍 发布时间:2020-06-12 16:40:44 来源:亿速云 阅读:175 作者:小新 本篇文章和大家了解一下php中update语句用法介绍.有一定的参考价值,有 ...

最新文章

  1. “众声喧哗”中的VR,谁来买单?
  2. python错误-新手常见Python错误及异常解决处理方案
  3. python生成激活码
  4. 脚本自动配置ssh互信
  5. Apache2为什么会自动加载index.php
  6. WinApi学习笔记-内存管理
  7. 异域公主连接iOS怎么修改服务器,公主连结ios账号在电脑端登录方法 模拟器使用技巧分享...
  8. 苏宁云宣布下线公有云服务!
  9. 什么是数据库连接池?
  10. 哪款软件可以测试刘海,测试自己适合什么刘海 按照脸型来选一测便知
  11. RDD实战电影点评系统案例
  12. 豆瓣电影多个作品里的海报、剧照图片怎样快速复制保存
  13. 数据转换成二维码并导出进Excel中和导入时解码二维码反转成数据
  14. TCP、UDP、TCP三次握手与四次挥手、TCP如何保证可靠传输、TCP异常分析、拆包和粘包等
  15. java导出excel如何设置单元格样式为文本样式
  16. 哪个邮箱比较好用?好用的企业邮箱品牌有哪些?价格多少?
  17. 本经阴符七术(鬼谷子术数),译文奉献给各位朋友
  18. 用思维导图快速弄懂光伏系统的组成
  19. mysql 强制不走缓存_MySQL - 强制不使用缓存来测试查询速度
  20. 『 canvas 特效』一文教你绘制绚丽的星空背景 TS + ES6

热门文章

  1. Jenkins 创建一个freestyle的Job
  2. 并发编程——线程——CPython的GIL解释器锁
  3. 01、python数据分析与机器学习实战——Python可视化库Seaborn
  4. 将桌面文件复制到/etc目录
  5. 【机器视觉】 if算子
  6. 【Tiny4412】EMMC启动最小网络文件系统
  7. 【Linux】一步一步学Linux——ethtool命令(155)
  8. 【Linux系统编程】Linux 进程调度浅析
  9. 计算机组成原理简单选择题,计算机组成原理选择题及答案.doc
  10. python快速入门神器 知乎_python数据分析之数据处理终极神器