本手册旨在描述 Apache™ Subversion® 的 1.7.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
选项在更新目标上设置新的 “粘性” 工作副本深度。
获取自上次更新以来发生的存储库更改
$ 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.
提示 | |
---|---|
如果您想检查单个文件的旧修订版本,您可能需要使用 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 $