← 文章 / 开源项目
eclipse 3小时前 · 2026-10-04 22:20:04 · 10 阅读

Eclipse JGit 7.8.0 版本发布:新增 Blame 忽略选项与 Commit Graph 性能优化

新特性

  • DfsPackSource:新增 GC_PART 和 GC_REST_PART 扩展
  • #181 Blame:新增忽略指定修订版本(revision)的选项
  • RevWalk:新增 RevFilterStats 类,用于存储 RevFilter 的统计指标
  • 为 RevWalk 遍历新增协作式取消机制
  • repo:解析并记录 .gitattributes 中的远程评审主机,使工具能够将 submodule 关联到对应的 Gerrit 评审主机。

性能改进

  • BlameGenerator:引入基于 Commit Graph 的性能优化,可通过 setUseCommitGraphOptimizations() 启用
  • TreeRevFilter:支持为 merge commit 提供 bloom filter
  • PackedBatchRefUpdate:在整个 pack 阶段持有 inProcessPackedRefsLock
  • #266 ResolveMerger:三方合并时改为延迟获取 Attributes
  • #250 RevCommit:允许 RevCommit 和 RevWalk 的子类使用 commit graph 中存储的信息
  • RevWalk:若存在 commit-graph 文件,则改用增量式拓扑排序算法
  • BitmappedObjectReachabilityChecker:优化过滤逻辑

Bug 修复

  • #279 IndexDiffFilter:不再丢弃与已跟踪变更无关的未跟踪文件夹
  • #285 修复无内容可 fetch 时 close() 抛出 NPE 的问题
  • PackedBatchRefUpdate:按加锁的相反顺序释放锁
  • #281 RefDirectory:修复 pack() 过早释放已持有锁的问题
  • TopoSortPendingGenerator:在 RevWalk.reset() 时释放 flags
  • UploadPack 将协商耗时计入总耗时
  • #267 DirCacheEntry:修复 mightBeRacilyClean() 的时间差计算
  • 确保 SnapshottingRefDirectory 共享同一个 packedRefsRefresher
  • Checkout:临时文件名截断上限由 200 字符降为 50 字符,以避免超出文件系统对文件名长度的限制

构建与发布工程

依赖更新

  • bouncycastle 升级至 1.85
  • org.bouncycastle:bcprov-jdk18on 升级至 1.85.2
  • bytebuddy 升级至 1.18.12
  • 升级 commons-codec 至 1.22.1
  • 升级 commons-logging 至 1.4.0
  • 升级 jetty 至 12.1.12
  • 升级 jna 至 5.19.1
  • 升级 org.apache.sshd 至 2.19.0

更新 orbit 依赖

  • 升级 org.objenesis 至 3.6.0

Bazel 构建

  • 添加 EE8 Servlet 桥接目标
  • junit.http:提取 AppServerBase 以去重 EE8 AppServer 覆盖层
  • 将 //lib:servlet-api 重命名为 //lib:jakarta-servlet-api
  • 升级至 Bazel 9.0.1

其他

  • 将 org.tukaani.xz 声明为归档库的依赖项
  • 针对 Eclipse IDE 2026-06 (4.40) 切换至 releases p2 仓库
  • 针对 Eclipse IDE 2026-09 添加目标平台 4.41
  • 将 org.apache.commons.commons-logging 1.4.0 打包至 p2 仓库
  • 记录 JGit 发布版 SBOM 的获取位置
  • 使 Jetty 环境与 Servlet API 6.1 保持一致
  • 添加由法律文档生成器生成的 NOTICE.md
发布日期 2026 年 9 月 9 日,星期三 - 12:00 发布类型 次要版本 新特性与亮点链接 https://github.com/eclipse-jgit/jgit/wiki/New-and-Noteworthy-7.8
原始来源: eclipse

评论 (0)