作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要使用 JGit 从 Git 存储库中绘制图表。
我一直在考虑遍历提交的不同方法。我需要能够从分支/提交中绘制一个/多个图形,并且我还需要能够在任意范围内进行绘制,比如从第 200 次提交到第 250 次提交(跳过最近进行的 200 次提交) .
我应该如何遍历存储库?使用 RevWalk
?我想让它保持足够的性能,我想知道是否有一种明确的方法可以很好地做到这一点。
更新:基本上我正在研究制作类似 git log --graph -n 50 --skip 200
的东西,它显示了 200- 之间的存储库图250 个按创建顺序提交。现在我只想自己做这件事。 :)
更新 2: 如果我也可以遍历那些悬空的(没有引用),并用灰色绘制它们,那就太好了。
最佳答案
是的,我同意你的看法,你应该使用 RevWalk。 JGit 提供类似于日志调用的瓷器 API,但它在较低层提供了有趣的入口点。
它可能比使用瓷器 API 或任何基于 Git 的方法更有效。
我真的不明白你所说的未引用提交是什么意思。那些不在分支中的?
另一件事是我不确定您是否可以一次查询所有提交,我的意思是您应该查询每个分支,但我想您已经想到了。我一直想知道是否有比查询每个分支更快的方法(如果它们很短并且有大量的共同历史,那将浪费大量时间)
关于java - 如何用JGit遍历Git仓库并画图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12373423/
我是一名优秀的程序员,十分优秀!