SVN 查看历史信息
通过svn命令可以根据时间或修订号去查看过去的版本,或者某一版本所做的具体的修改。以下四个命令可以用来查看svn 的历史:
svn log 用来展示svn 的版本作者、日期、路径等等;
svn diff 用来显示特定修改的行级详细信息;电脑专业
svn cat 取得在特定版本的某文件显示在当前屏幕;
svn list 显示一个目录或某一版本存在。
(1)svn log
美好的反义词log: 显示一组版本与/或文件的提交日志信息。
用法: 1、log [PATH]
2、log URL[@REV] []
1、显示本地 PATH (默认: “.”) 的日志信息。默认的版本范围是 BASE:1。
2、显示 URL 中 PATH (默认: “.”) 的日志信息。如果指定了 REV,就从 REV
开始查找 URL,版本范围是 REV:1。否则就从 HEAD 开始查找 URL,版本范围
是 HEAD:1。
可以指定多个 “-c” 或 “-r” 选项 (但是不允许同时使用 “-c” 和 “-r” 选项),
以及混合使用前向和后向范围。
使用 -v 时,在日志信息中显示受影响的路径名。
使用 -q 时,不显示日志信息主体 (请注意,它可与 -v 并存)。
每条日志信息只会显示一次,即使指定了此版本涉及到的多个路径。默认日志信息
会追溯复制历史;使用 --stop-on-copy 可以关闭这种行为,这可以用来找出分支点。
有效选项:
-r [--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)
版本参数可以是如下之一:
NUMBER 版本号
'{' DATE '}' 在指定时间以后的版本
有趣的小游戏 'HEAD' 版本库中的最新版本
'BASE' 工作副本的基线版本
'COMMITTED' 最后提交或基线之前
'PREV' COMMITTED的前一版本
-q [--quiet] : 不打印信息,或只打印概要信息
-v [--verbo] : 打印附加信息风字的笔画
-g [--u-merge-history] : 从合并历史使用/显示额外信息
-c [--change] ARG : 版本 ARG 引起的改变
--targets ARG : 传递文件 ARG 内容为附件参数
--stop-on-copy : 查看历史不要跨越不同的副本
--incremental : 给予适合串联的输出
--xml : 输出为 XML
-l [--limit] ARG : 日值项最大值
--with-all-revprops : 获取所有版本属性
--with-no-revprops : 没有找回版本属性
--with-revprop ARG : 获取版本属性 ARG
全局选项:
--urname ARG : 指定用户名称 ARG
--password ARG : 指定密码 ARG
--no-auth-cache : 不要缓存用户认证令牌
--non-interactive : 不要交互提示
--trust-rver-cert : 不提示的接受未知的 SSL 服务器证书(只用于选项 “--non-interactive”)
--config-dir ARG : 从目录 ARG 读取用户配置文件
--config-option ARG : 以下属格式设置用户配置选项:
FILE:SECTION:OPTION=[VALUE]
例如:
rvers:global:http-library=rf
实例1:获取版本号14的版本信息
svn log -r r14 或者 svn log -r 14
实例2:获取版本号14至17的版本信息
svn log -r r14:r17 或者 svn log -r 14:17
实例3:获取全部版本信息
svn log
实例4:获取制定单个文件的版本信息
svn log foo.c
svn /repo/project/foo.c
svn /repo/project foo.c bar.c
实例5:查看版本信息及提交的文件路径并导入以XML形式导出
svn log -v -r 14:17 > l --xml
svn log -v -r 14:17 >> l --xml
国际经济与贸易专业就业方向
(2)svn diff
用法: 1. diff [-c M | -r N[:M]] [TARGET[@REV]...]
2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \
[]
3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]
1、显示版本 REV 中 TARGET 在两个不同的版本之间的差异。TARGET 要么全是
工作副本路径,要么全是 URL。如果 TARGET 是工作副本路径,N 默认为
BASE,M 默认为工作副本;如果 TARGET 是 URL,N 必须指定, M 默认为 HEAD。
“-c M” 等价于 “-r M-1:M”,“-c -M” 等价于 “-r M:M-1”。探海松
2、显示新旧版本中对应目标的差异。PATH 是相对于新旧目标的相对路径,
它限制只输出这些路径上的差异。新旧目标可以是工作副本路径或地址 URL[@REV]。
新目标默认与旧目标相同,OLDREV 默认为 N,NEWREV 默认为 M。
3、“svn diff --old=OLD-URL[@OLDREV] --new=NEW-URL[@NEWREV]” 的简写。
使用不加参数的 “svn diff” 显示工作副本中的本地修改。
芒果花图片
有效选项:
-r [--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)
版本参数可以是如下之一:
NUMBER 版本号
'{' DATE '}' 在指定时间以后的版本
'HEAD' 版本库中的最新版本
'BASE' 工作副本的基线版本
'COMMITTED' 最后提交或基线之前
1987年属
'PREV' COMMITTED的前一版本
-c [--change] ARG : 在ARG版本(如同 -r ARG-1:ARG)作的修改
如果ARG为负数则等价于 -r ARG:ARG-1
--old ARG : 使用 ARG 作为旧目标
--new ARG : 使用 ARG 作为新目标
-N [--non-recursive] : 过时;尝试 --depth=files 或 --depth=immediates
--depth ARG : 受深度参数 ARG(“empty”,“files”,“immediates”,或“infinity”) 约束的操作
--diff-cmd ARG : 使用 ARG 作为比较命令
-x [--extensions] ARG : 缺省: “-u”。当 Subversion 调用外部比较程序时,ARG 直接传
给它。但是当
Subversion 使用缺省的内置比较实现,或者正
显示追溯时, ARG 可以是:
-u (--unified):
输出三行统一上下文。
-b (--ignore-space-change):
忽略空白数量的修改。
-w (--ignore-all-space):