本文档用于描述 Subversion 1.6.x 系列。如果您正在运行其他版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并参考适用于您 Subversion 版本的文档。
svn update (up) — 更新您的工作副本。
svn update 将来自版本库的更改引入您的工作副本。如果没有指定版本,它将使您的工作副本更新到 HEAD
版本。否则,它将工作副本同步到 --revision
(-r
) 选项指定的版本。作为同步的一部分,svn update 还会删除工作副本中发现的任何陈旧锁定(参见 名为“有时您只需要清理”的部分)。
对于每个更新的项目,它会打印一行,以一个字符开头,报告执行的操作。这些字符的含义如下
A
添加
B
锁定已损坏(仅限第三列)
D
删除
U
更新
C
冲突
G
合并
E
存在
第一列中的字符表示对实际文件的更新,而对文件属性的更新显示在第二列中。锁定信息在第三列中打印。
与大多数子命令一样,您可以使用 --depth
选项将更新操作的范围限制为特定的树深度。或者,您可以使用 --set-depth
选项在更新目标上设置新的 “粘性” 工作副本深度。
--accept ACTION --changelist --depth ARG --diff3-cmd CMD --editor-cmd CMD --force --ignore-externals --quiet (-q) --revision (-r) REV --set-depth ARG
获取自上次更新以来发生的版本库更改
$ svn update 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 A newdir/README D newdir/toggle.c D newdir/disclose.c D newdir/launch.c U foo.c Updated to revision 30.
![]() |
提示 |
---|---|
如果您想检查单个文件的旧版本,您可能希望使用 svn cat — 它不会更改您的工作副本。 |
svn update 也是用于配置稀疏工作副本的主要机制。当与 --set-depth
一起使用时,更新操作将通过修改其记录的周围深度(根据需要从版本库获取信息)来省略或重新包含单个工作副本成员,以您指定的深度。有关稀疏目录的更多信息,请参见 名为“稀疏目录”的部分。