`
yanwenhan
  • 浏览: 119454 次
  • 性别: 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)。

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

分享到:
评论

相关推荐

    svn 删除文件 update 又出来了 怎么回事

    当你执行`svn update`,系统会将仓库的最新状态与你的本地副本同步,如果仓库中该文件还未被删除,那么这个文件就有可能会被重新拉取回来。 解决这个问题的一个方法是使用`svn revert`命令。`svn revert`可以用来...

    使用Kettle同步mysql数据,增量同步

    Kettle,也被称为Pentaho Data ...它为数据库管理员和开发人员提供了一个强大而简单的工具,以便在MySQL等数据库之间高效地同步数据,支持在数据仓库、数据湖、数据集市构建和数据集成项目中的各种应用场景。

    SVN服务端Subversion与客户端TortoiseSVN教程--解决同步问题

    SVN服务端Subversion与客户端TortoiseSVN教程--解决同步问题 一、SVN服务端Subversion安装配置 在安装Subversion之前,需要注意下载的Subversion版本是否支持apache2.0或apache2.2。如果只支持apache2.0,需要重新...

    svn同步工具

    - 更新(Update):将仓库的最新变更同步到工作拷贝。 - 合并(Merge):处理两个分支之间的差异,合并更改。 2. SVN同步工具的功能: - 检出/更新:提供友好的图形界面,方便用户检出项目或更新到最新版本。 -...

    linux 安装svn并实现本地同步服务器

    本文将指导读者在 Linux 环境下安装 SVN(Subversion),并使用钩子脚本实现本地提交后自动同步代码文件到服务器的网站目录下。 安装 SVN 首先,使用 yum 命令安装 SVN: `yum install subversion` 安装完成后,...

    svn的使用与myeclipse的同步

    本篇文章将深入探讨SVN的使用方法以及如何将其与集成开发环境MyEclipse进行整合,实现代码的版本管理和同步。 首先,让我们了解什么是SVN。Subversion是一个开源的集中式版本控制系统,用于跟踪和管理项目中的文件...

    同步开发SVN及教程

    2. 更新(Update):在工作副本中,你可以随时使用“Update”命令同步仓库的最新更改。 3. 提交(Commit):当你完成了一些改动并希望保存到仓库时,使用“Commit”命令。提交时需要提供提交消息,描述你的更改内容。 ...

    mysql postgresql Greenplum 实时同步

    2. **DELETE+COPY方式**:不同于传统的INSERT+UPDATE+DELETE模式,Bireme利用DELETE+COPY机制,在插入新数据之前先删除旧数据中的主键对应的记录,之后再执行插入操作,以实现更高效的同步过程。 3. **支持多种数据...

    SVN 工程同步器

    "SVN 工程同步器"可能提供了一些额外的特性,如自动化同步,使得团队成员无需手动执行`svn update`命令,即可保持工作副本与仓库的同步。此外,它可能还具有可视化界面,使得操作更直观,尤其对不熟悉命令行的用户而...

    局域网搭建yum仓库,实现内网软件安装

    8. 测试安装:在内网服务器上运行`yum clean all`清理缓存,然后尝试`yum update`或`yum install`命令,看是否能正常从局域网仓库获取并安装软件。 三、内网YUM仓库的优势 1. 提高效率:内网服务器可以直接从本地...

    数据集和数据库的同步-DataSET

    在.NET框架中,Microsoft提供了一个强大的数据处理组件——DataSet,它允许离线操作和存储数据,同时也支持与数据库的同步。 DataSet是.NET Framework中一个内存中的数据表示,可以看作是轻量级的数据仓库。它不...

    Ubuntu apt-mirror 镜像同步

    一旦同步完成,所有的软件包都会存储在`/var/spool/apt-mirror`目录下,你可以根据需要在本地网络中设置HTTP或NFS服务器,让其他机器通过这个本地镜像安装软件。 此外,`apt-mirror`还支持定期同步,可以通过`cron`...

    SVN-team同步插件

    "Update"(更新)是将仓库中的最新更改同步到本地;"Merge"(合并)是将两个或多个分支的更改整合在一起;而"Resolve"(解决冲突)是处理当多人同时修改同一文件时产生的不一致情况。 总的来说,"SVN-team同步插件...

    升级驱动update-kernel-4.17

    "升级驱动update-kernel-4.17"这个主题聚焦于将默认系统中的内核升级至4.17版本,这是一个重要的维护步骤,特别是对于那些依赖最新特性和改进的用户或者开发者来说。 内核4.17版本可能包含了对硬件的支持增强,例如...

    删除svn目录

    例如,`svn status`用于查看文件和目录的状态,`svn update`用于将仓库的最新更改同步到本地,而`svn revert`可以用来撤销本地的更改。 至于提供的压缩文件“删除svn目录.exe”,这可能是某种自动化工具或脚本,...

    gitlab+LDAP认证安装+同步备份

    ### GitLab + LDAP 认证安装与同步备份详解 #### 一、GitLab 安装与配置 **1. 配置 YUM 源** 在 CentOS 6.x 上安装 GitLab 的第一步是配置 YUM 源。可以通过编辑 `/etc/yum.repos.d/gitlab-ce.repo` 文件来完成...

    src_update.sh

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

    详解git submodule update获取不到最新提交的代码

    之后,回到父项目目录,再次运行 `git submodule update`,这次 `FETCH_HEAD` 中的 commit ID 就会与远程仓库同步,从而获取到最新的代码。 总结一下处理步骤: 1. 在子模块目录下执行 `git pull`,将远程仓库的...

    美团DB数据同步到数据仓库的架构与实践

    《美团DB数据同步到数据仓库的架构与实践》 在数据仓库建设中,原始的业务数据,特别是来自MySQL等关系型数据库的数据,是构建数据仓库不可或缺的部分。然而,传统的批量数据同步方法,如直接从MySQL Select数据并...

Global site tag (gtag.js) - Google Analytics