`
yanwenhan
  • 浏览: 114797 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

update—同步工作目录与仓库

    博客分类:
  • CVS
阅读更多
  • update [-ACdflPpR] [-I name] [-j rev [-j rev]] [-k kflag] [-r tag[:date] | -D date] [-W spec] files...
  • 需要: 仓库,工作目录。
  • 修改: 工作目录。

在你从公共仓库检出创建自己的源码副本之后,其他的开发人员会继续修改中央源码。随着时间的推移,在开发进程中,需要的时候,你可以在工作目录中使用 update 命令,将上次检出或更新后仓库里面变更的修订版,并入到你的工作目录。在没有使用 -C 选项时,update 将合并本地副本和 -r-D-A 指定的修订版的差异。

 

 update 选项

update 支持下面标准的选项(参阅 Common options,了解完整说明):

-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'.

参阅 Branching and merging.

 

 

update 的输出

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)。

<!----><!----><!---->

分享到:
评论

相关推荐

    src_update.sh

    自写的一个脚本,如个人本地机子上有相当多从网上同步的源码(版本管理工具:svn / git),则可在类unix环境下运行该脚本,指定源码目录。则脚本会对目录下(包括子目录)所有的本地源码执行更新。能自行判断是git...

    bireme:Bireme是Greenplum HashData数据仓库的增量同步工具

    Bireme支持多个数据源的同步工作。 它可以同时并行地从多个数据源读取记录,并将记录加载到目标数据库。 1.2数据源 1.2.1麦克斯韦+卡夫卡 Maxwell + Kafka是bireme当前支持的数据源类型。 结构如下: 是一个读取...

    sonar:微调您的所有单仓库依赖性更新

    微调您的所有单仓库依赖项同步,更新和验证。 在Mono-repo中使用依赖项时,通常会执行许多工作流程。 工作空间同步,依赖项更新和验证。 Sonar默认情况下会警告您这些工作流程中的任何错误,或者您可以传递--fix来...

    simp-boltdir:具有任务计划的Boltdir用于本地同步simp仓库

    Boltdir带有用于在本地同步Simp仓库的任务/计划 使用方法: 安装2.8.0或更高版本的。 安装excon gem: /opt/puppetlabs/bolt/bin/gem install excon --user-install 在您想要所有SIMP模块的目录中,运行git ...

    swarm:本仓库为Docker Swarm的学习版本,在学习Swarm原始码的同时,添加自己的注释与理解;本仓库代码会及时与官方版本同步,对于有冲突的代码,比较并合入

    本仓库代码会及时与官方版本同步,对于有冲突的代码,比较并合入。官网地址Docker Swarm的官方原始地址为: : 同步更新日志2016-01-19,更新日志项有如下: 2016年1月19日,从Dongluochen / darwinbuild合并请求#...

    Sqoop企业级大数据迁移方案全方位实战视频教程

    基于案例实现updateonly增量同步导出 4.基于案例实现allowinsert增量同步导出 5.数据导出原理详解 第四章:Sqoop企业级任务管理 1.企业级数据管理业务 2.Sqoop Job命令参数详解 3.基于订单案例实现Sqoop Job...

    阿里巴巴大数据之路——数据技术篇.pdf

    阿⾥数据仓库同步⽅式 1)批量数据同步 要实现各种各样数据源与数仓的数据同步,需要实现数据的统⼀,统⼀的⽅式是将所有数据类型都转化为中间状态,也就是字符串类型。以此来实现数据格式的统⼀。 产品——阿⾥...

    dotfiles:OSX的默认配置

    保存未通过iCloud同步的应用程序中的所有工作 从本地数据库导出重要数据 将更新到最新版本并运行mackup backup 安装 # 1. Update macOS to the latest version with the App Store sudo softwareupdate -i

    JoplinGit:选择性地将乔普林笔记本共享到Github的脚本

    乔普林·吉特(Joplin Git)基于Joplin的Git工作...外观概述有关更多详细信息的视觉概述,您可以阅读您要使用的脚本(从存储库的根目录运行) 箱子update_repository_from_joplin.sh-您很可能最想经常使用此脚本。 从您

    rebase-docker-image:将Docker化的Windows应用重新设置为更新的Windows Docker基本映像

    将基于不同Windows Update图层的多个图像同步到当前图像。 在没有机器的情况下为Server 1709创建映像。 该工具也可以在Linux上使用,因为不必提取任何图像。限度您无法将应用程序从Windowsservercore图像移动到nano...

    linux.chm文档

    复制一个目录下的所有文件到当前工作目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录 cp -a dir1 dir2 复制一个目录 ln -s file1 lnk1 创建一个指向文件或目录的软链接 ln file1 lnk1 创建一个指向文件或...

    MFC教程入门知识全集.rar

    6.1.2.5 给菜单项添加UPDATE_COMMAND_UI 消息处理 6.1.2.6 一个简单的绘图程序 6.1.3 在应用程序中控制菜单 6.1.3.1 在应用程序中取得菜单 6.1.3.2 在应用程序中修改菜单的状态 6.1.3.3 在应用程序中添加、删除...

    Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)

    1.1 执行update命令,和服务器同步软件包,执行apt-get install * 时可以下载最新的软件。   1.2 安装Docker和创建软链接   1.3 启用Docker服务 2. 获取搭建环境所需镜像 2.1 MySQL镜像 2.2 Redis镜像   2.3 ...

    Visual C++程序开发范例宝典(光盘) 第四部分

    5.3 与文件目录相关的命令操作 实例141 删除文件目录 实例142 重命名文件目录 5.4 文件、文件夹的复制和移动 实例143 批量移动文件 实例144 网络文件夹复制 实例145 文件复制过程中显示进度条 5.5 文件修改 ...

    Visual C++程序开发范例宝典(光盘) 第八部分

    5.3 与文件目录相关的命令操作 实例141 删除文件目录 实例142 重命名文件目录 5.4 文件、文件夹的复制和移动 实例143 批量移动文件 实例144 网络文件夹复制 实例145 文件复制过程中显示进度条 5.5 文件修改 ...

    编码:程序的相关性

    克隆仓库: git clone https://github.com/codingepaduli/codingepaduli.git 同步并更新子存储库: git submodule sync git submodule init git submodule update git submodule foreach git pull origin master ...

    Visual C++程序开发范例宝典(PDF扫描版).part3

     5.3 与文件目录相关的命令操作   cc实例141 删除文件目录   cc实例142 重命名文件目录   5.4 文件.c文件夹的复制和移动   cc实例143 批量移动文件   cc实例144 网络文件夹复制   cc实例145 ...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     5.3 与文件目录相关的命令操作   cc实例141 删除文件目录   cc实例142 重命名文件目录   5.4 文件.c文件夹的复制和移动   cc实例143 批量移动文件   cc实例144 网络文件夹复制   cc实例145 ...

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    cc实例137 清空回收站 5.2 查找文件 cc实例138 搜索文件 cc实例139 检查文件是否存在 cc实例140 提取指定文件夹目录到INI文件 5.3 与文件目录相关的命令操作 cc实例141 删除文件目录 cc实例142 ...

Global site tag (gtag.js) - Google Analytics