本手册旨在描述 Apache™ Subversion® 的 1.7.x 系列。如果您运行的是其他版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的手册。

名称

svn update (up) — 更新您的工作副本。

概要

svn update [PATH...]

描述

svn update 将存储库中的更改引入您的工作副本。如果没有给出修订版本,它会将您的工作副本更新到 HEAD 修订版本。否则,它会将工作副本同步到由 --revision (-r) 选项给出的修订版本。作为同步的一部分,svn update 还会删除工作副本中发现的任何陈旧锁(参见 名为“有时您只需要清理”的部分)。

对于每个更新的项目,它会打印一行,该行以一个字符开头,表示所采取的操作。这些字符具有以下含义

A

添加

B

锁已损坏(仅限第三列)

D

删除

U

更新

C

冲突

G

合并

E

存在

第一列中的字符表示对实际文件的更新,而对文件属性的更新显示在第二列中。锁信息打印在第三列中。

与大多数子命令一样,您可以使用 --depth 选项将更新操作的范围限制在特定的树深度。或者,您可以使用 --set-depth 选项在更新目标上设置新的 粘性 工作副本深度。

选项

示例

获取自上次更新以来发生的存储库更改

$ svn update
Updating '.':
A    newdir/toggle.c
A    newdir/disclose.c
A    newdir/launch.c
D    newdir/README
Updated to revision 32.

您还可以将工作副本 更新 到旧的修订版本(Subversion 没有像 CVS 那样 粘性 文件的概念;参见 附录 B, Subversion for CVS 用户

$ svn update -r30
Updating '.':
A    newdir/README
D    newdir/toggle.c
D    newdir/disclose.c
D    newdir/launch.c
U    foo.c
Updated to revision 30.
[Tip] 提示

如果您想检查单个文件的旧修订版本,您可能需要使用 svn cat — 它不会更改您的工作副本。

svn update 也是用于配置稀疏工作副本的主要机制。当与 --set-depth 一起使用时,更新操作将通过修改其记录的周围深度(根据需要从存储库中获取信息)来省略或重新注册单个工作副本成员,以达到您指定的深度。有关稀疏目录的更多信息,请参见 名为“稀疏目录”的部分

您可以使用单个调用更新多个目标,Subversion 不仅会优雅地跳过您提供的任何未版本化的目标,而且从 Subversion 1.7 开始,还会包含所有执行的更新的更新后摘要

$ cd my-projects
$ svn update *
Updating 'calc':
U    button.c
U    integer.c
Updated to revision 394.
Skipped 'tempfile.tmp'
Updating 'paint':
A    palettes.c
U    brushes.c
Updated to revision 60.
Updating 'ziptastic':
At revision 43.
Summary of updates:
  Updated 'calc' to r394.
  Updated 'paint' to r60.
  Updated 'ziptastic' to r43.
Summary of conflicts:
  Skipped paths: 1
$
TortoiseSVN 官方中文版 1.14.7 发布