利用SVN子命令查看所有及特定文件版本信息

开发 项目管理
本文向大家介绍一下使用SVN的一些基本命令查看所有及特定文件版本信息,主要有四个命令,本文为大家一一讲解,希望大家能够通过本文学习到更多知识。

本文讲解一下SVN使用SVN子命令 log,SVN子命令 list,SVN子命令cat,SVN子命令 diff查看所有及特定文件版本信息 ,下面是有关这些命令的具体介绍。
 svn log          展示给你主要信息:每个版本附加在版本上的作者与日期信息和所有路径修改。
 svn diff          显示特定修改的行级详细信息。
 svn cat          取得在特定版本的某一个文件显示在当前屏幕。
 svn list          显示一个目录在某一版本存在的文件。

找出一个文件或目录的历史信息,使用SVN子命令 log命令,svn log将会提供你一条记录,包括:谁对文件或目录作了修改、哪个修订版本作了修改、修订版本的日期和时间、还有如果你当时提供了日志信息,也会显示。
$ svn log
------------------------------------------------------------------------
r3 | sally | Mon, 15 Jul 2002 18:03:46 -0500 | 1 line
Added include lines and corrected # of cheese slices.
------------------------------------------------------------------------
r2 | harry | Mon, 15 Jul 2002 17:47:57 -0500 | 1 line
Added main() methods.
------------------------------------------------------------------------
r1 | sally | Mon, 15 Jul 2002 17:40:08 -0500 | 1 line
Initial import
------------------------------------------------------------------------
[/pre]注意日志信息缺省根据时间逆序排列,如果希望察看特定顺序的一段修订版本或者单一版本,使用--revision(-r) 选项:
$ svn log -r 5:19    # shows logs 5 through 19 in chronological order
$ svn log -r 19:5    # shows logs 5 through 19 in reverse order
$ svn log -r 8       # shows log for revision 8
也可以检查单个文件或目录的日志历史,举个例子:
$ svn log foo.c…
$ svn log http://foo.com/svn/trunk/code/foo.c…
[/pre]这样只会显示这个工作文件(或者URL)做过修订的版本的日志信息。

如果你希望得到目录和文件更多的信息,你可以对SVN子命令 log使用--verbose (-v)开关,因为Subversion允许移动和复制文件和目录,所以跟踪路径修改非常重要,在详细模式下,svn log输出中会包括一个路径修改的历史:
$ svn log -r 8 -v
------------------------------------------------------------------------
r8 | sally | 2002-07-14 08:15:29 -0500 | 1 line
Changed paths:
M /trunk/code/foo.c
M /trunk/code/bar.h
A /trunk/code/doc/README
Frozzled the sub-space winch.
------------------------------------------------------------------------
[/pre]SVN子命令log也有一个--quiet (-q)选项,会禁止日志信息的主要部分,当与--verbose结合使用,仅会显示修改的文件名。
为什么svn log给我一个空的回应?
当使用Subversion一些时间后,许多用户会遇到这种情况:
$ svn log -r 2
------------------------------------------------------------------------
$
[/pre]乍一看,好像是一个错误,但是想一下修订版本号是作用在版本库整体之上的,如果你没有提供路径,svn log会使用当前目录作为默认的目标,所以,作为结果,如果你对一个本身和子目录在指定版本到现在没有做过修改的目录运行这个命令,你会得到空的日志。如果你希望察看某个版本做的修改的日志,只需要直接告诉svn log使用版本库***的目录作为参数,例如svn log -r 2 http://svn.collab.net/repos/svn。请期待下节SVN子命令介绍。
 

【编辑推荐】

  1. Linux下不常用的SVN 命令大揭秘
  2. SVN客户端常用命令专家全程讲解
  3. Svn import子命令详解
  4. SVN使用教程简单配置篇详解
  5. Subversion checkout子命令使用详解

 

责任编辑:佚名
相关推荐

2010-05-20 12:43:37

SVN Update命

2010-05-24 10:45:52

子命令Svn lock

2010-05-21 10:13:30

Svn import子

2010-05-24 14:16:34

子命令SVN diff

2010-05-24 15:23:41

SVN子命令add

2010-05-25 17:13:26

SVN子命令log

2010-05-24 15:23:41

SVN子命令add

2010-05-24 10:29:51

子命令Svn reve

2010-05-24 12:53:38

子命令SVN merg

2010-05-27 16:41:30

Linux查看版本

2010-05-24 14:57:10

SVN子命令

2010-06-01 19:06:27

删除SVN

2010-06-01 18:26:11

删除SVN

2010-05-24 12:21:22

子命令SVN merg

2014-08-11 10:05:33

CentOS

2010-06-01 18:15:33

删除SVN版本信息

2009-10-15 09:58:13

Linux系统信息查看

2010-05-25 14:42:58

删除SVN版本信息

2009-12-25 10:48:23

ps -aux

2010-02-02 14:30:42

Linux SVN
点赞
收藏

51CTO技术栈公众号