背景
偶然在其他人的 README 里看到了 gource 与 codecity ,思考:
- 没有逻辑层数据:我知道改了文件但不知道改了幅度跟影响
- 有些渲染依赖:能否替换为现代的渲染技术,放进浏览器
刚好我们正在做静态解析工具(真的是刚好),想着把这两个东西结合起来。
效果
在 release 页面 下载对应二进制包,用一行命令行:
./sibyl history --src . --output hello.html --full
就可以得到(发现主页视频播不了,我放评论里或者直接点链接跳)
可以看到动画会标识出每个 diff 影响到的相关方法,并逐步演进,看到你的仓库逐渐成长。
链接
因为这个项目一开始不是为了干这个事情的(果然走着走着就歪了),主要是用来从代码里提取元信息(方法、类等),所以仓里还有很多不相关的内容。
另外,这个视频里所有的原始信息( diff 影响哪些方法、方法又额外调用了哪些方法、每个 commit 完整的快照信息)都是可以拿到并且被 dump 出来的。
这个发出来首先是因为好玩,其次是为了给主功能做一些测试吧~ 感兴趣可戳:
https://github.com/opensibyl/sibyl2
中文文档在这,但貌似一直被提示有访问风险,想弃了,还是看 README 就好吧: