timeline¶
简介¶
打印项目变更历史的时间线。
vb timeline [WHEN] [CHECKIN|DATETIME] [OPTIONS]
示例¶
打印当前仓库全部时间线:
$ vb timeline
=== 2024-07-30 ===
09:16:25 [7af4d635a3] *CURRENT* trunk add test.txt (user: admin tags: trunk)
=== 2024-07-23 ===
09:18:25 [54d81d4fa3] v2.0work1提交 (user: admin tags: v2.0)
07:55:15 [dd6ab50d8c] v2.0修改 .fossil-settings文件 (user: admin tags: v2.0)
07:15:46 [bace9a7af2] v2.0分支创建以及v2.0文件提交 (user: admin tags: v2.0)
07:13:26 [8aa0b7b646] *BRANCH* trunk 分支第四次提交 (user: admin tags: trunk)
07:09:20 [1dcff7208e] trunk 分支第三次提交 (user: admin tags: trunk)
...
打印
bace9a7af2
版本之前所有祖先的时间线:
$ vb timeline parents bace9a7af2
=== 2024-07-23 ===
07:15:46 [bace9a7af2] v2.0分支创建以及v2.0文件提交 (user: admin tags: v2.0)
07:13:26 [8aa0b7b646] *BRANCH* trunk 分支第四次提交 (user: admin tags: trunk)
07:09:20 [1dcff7208e] trunk 分支第三次提交 (user: admin tags: trunk)
07:08:16 [93abb4c005] trunk 分支第二次提交 (user: admin tags: trunk)
07:01:16 [2d863e0480] trunk 分支第一次提交 (user: admin tags: trunk)
06:58:05 [8c436629f5] initial empty check-in (user: admin tags: trunk)
+++ no more data (6) +++
打印
bace9a7af2
版本之后所有时间线,包括额外信息:
$ vb timeline -F full after bace9a7af2
Commit: 7af4d635a36298ffef73ec42b1277ee73df635afd9fdb0fb77bd2a65f01a4f74
Date: 2024-07-30 09:16:25
Author: admin
Comment: trunk add test.txt
Branch: trunk
Tags: trunk
Phase: *CURRENT* *LEAF*
Commit: 54d81d4fa3a6b82c0fd1fb95c5705f7b77cc0f2b0f48cba1717aa1e919382bcd
Date: 2024-07-23 09:18:25
Author: admin
Comment: v2.0work1提交
Branch: v2.0
Tags: v2.0
Phase: *LEAF*
Commit: dd6ab50d8c39add60f98fcc3ffd815d5709cf07a10189237fe0e7293a05ec0a5
Date: 2024-07-23 07:55:15
Author: admin
Comment: v2.0修改 .fossil-settings文件
Branch: v2.0
Tags: v2.0
Phase:
--- line limit (20) reached ---
打印2条
v2.0
分支时间线,每个时间线仅显示简短哈希和注释:
$ vb timeline -b v2.0 -n 2 --oneline
54d81d4fa3 v2.0work1提交
dd6ab50d8c v2.0修改 .fossil-settings文件
--- entry limit (2) reached ---
打印跳过最近
2
次提交的详细时间线信息:
$ vb timeline --offset 2 -v
=== 2024-07-23 ===
07:55:15 [dd6ab50d8c] v2.0修改 .fossil-settings文件 (user: admin tags: v2.0)
DELETED _vbsettings_/crlf-glob
07:15:46 [bace9a7af2] v2.0分支创建以及v2.0文件提交 (user: admin tags: v2.0)
ADDED _vbsettings_/crlf-glob
ADDED v2.0.txt
07:13:26 [8aa0b7b646] *BRANCH* trunk 分支第四次提交 (user: admin tags: trunk)
EDITED work2.txt
ADDED work4.txt
07:09:20 [1dcff7208e] trunk 分支第三次提交 (user: admin tags: trunk)
DELETED work3.txt
ADDED work3/work3.txt
07:08:16 [93abb4c005] trunk 分支第二次提交 (user: admin tags: trunk)
ADDED work2.txt
ADDED work3.txt
07:01:16 [2d863e0480] trunk 分支第一次提交 (user: admin tags: trunk)
ADDED work1/day1.doc
06:58:05 [8c436629f5] initial empty check-in (user: admin tags: trunk)
+++ no more data (7) +++
打印与
wiki
页面相关时间线:
$ vb timeline -t w
+++ no more data (0) +++
输出的时间线格式设置为:提交作者、提交时间、提交分支:
$ vb timeline -F "%a %d %b"
admin 2024-07-30 09:16:25 trunk
admin 2024-07-23 09:18:25 v2.0
admin 2024-07-23 07:55:15 v2.0
admin 2024-07-23 07:15:46 v2.0
admin 2024-07-23 07:13:26 trunk
admin 2024-07-23 07:09:20 trunk
admin 2024-07-23 07:08:16 trunk
admin 2024-07-23 07:01:16 trunk
admin 2024-07-23 06:58:05 trunk
+++ no more data (9) +++
说明¶
timeline 命令以时间线的形式打印所有提交、分支、合并、标签以及其他重要事件的提交记录。可以更好地管理和维护仓库,对理解项目的演变过程、追踪变更和进行历史审查非常有用。
WHEN
包括以下关键字:
before
:打印指定版本之后的所有时间线,包括其他分支时间线;after
:打印指定版本之前的所有时间线,包括其他分支时间线;descendants | children
:打印指定版本和其后代版本时间线;ancestors | parents
:打印指定版本之前所有祖先的时间线。
CHECKIN
是任何 4 个字符或以上的签入版本号,也可以用 current
来表示当前版本。
适应场景
审查项目历史
timeline 打印最新的日期和时间及之前的所有版本提交记录,帮助了解项目的演变过程,包括所有的提交和重要事件。
追踪特定时间段的变更
通过筛选特定日期,可以查看在某个时间段内发生的所有变更。
分析分支和合并活动
使用分支和合并过滤器来关注特定分支或合并操作的变更历史。
审计用户贡献
按用户筛选可以追踪特定开发者的变更记录,方便进行代码审查和贡献分析。
选项¶
|
仅打印指定分支上的项目
|
|
仅打印当前分支上的项目
|
|
仅打印每个时间线的简短哈希和评论
|
|
中等详细时间线格式
|
|
额外详细的时间线格式
|
|
如果 N 为正数,则输出前 N 个时间线。如果 N 为负数,则输出前 -N 行。如果 N 为零,则无限制。默认值为 -20,即 20 行
|
|
时间线跳过最近 P 次提交。
|
|
仅输出影响 PATH 的项目。PATH 可以是文件或子目录
|
|
指定要使用的本地仓库。默认为当前签出的仓库
|
|
打印用于生成时间线的 SQL
|
|
仅输出指定类型的项目,例如:
ci = file commits ,e = technical notes , f = forum posts , t = tickets , w = wiki commits |
|
输出签入注释后每次提交所更改的文件列表以及每次更改的类型(编辑、删除等)
|
|
设置输出文本宽度(默认为自动检测)。宽度必须大于 20 或者为 0 ,0表示不限制宽度,每个时间线就只有一行
|
|
时间线格式设置。可以选择值
oneline 、 medium 和 full 将映射到下面的完整选项。否则,可以直接使用字符串,包含以下格式占位符:%n newline %% a raw % %H 完整的提交哈希值%h 提交哈希值的缩写%a 提交者%d 提交时间%c 提交注释(NL,TAB 替换为空格,LF 删除)%b 分支%t 标签%p 提交阶段:一个或者多个: CURRENT, MERGE, FORK, UNPUBLISHED, LEAF, BRANCH 阶段 |