2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

Git 2.48 发布:全面迁移至 Meson 构建系统,内存泄漏问题已修复

作者:Aditya Kulkarni

  • 2025-02-13
    北京
  • 本文字数:1264 字

    阅读完需:约 4 分钟

Git 2.48 发布:全面迁移至 Meson 构建系统,内存泄漏问题已修复

Git 2.48 现已支持 Meson 构建系统,这套现代化方案将逐步取代已有的 Makefile、Autoconf 和 CMake 构建体系,有效地解决了旧有系统在 IDE 支持方面的局限性和维护难题。


根据 GitLab 的 Git 专家 Christian Couder 在 Git 2.48 更新说明中的解释,Meson 相较旧版的构建系统展现出多项关键优势,其中包括:直观的语法设计、广泛的兼容能力、对现代特性的支持,以及便捷的构建选项访问。Mason 的构建流程包含有创建构建目录、编译代码、执行测试和安装部署等标准化步骤,通过简单的分步操作指令即可完成。


值得注意的是,Git 在 2.48 版本中实现了重大突破:经测试套件验证,当前版本已完全消除内存泄漏问题。在此前版本中,223 个测试文件存在内存泄漏问题,2.47 版本将这一数量降至 60 处,而本次更新则是实现了彻底的修复。这项成就与 Git 的"库化改造"目标(将核心组件转化为标准库)及内存使用优化的战略高度契合。除非有特殊说明,所有新增测试默认都是能确保无内存泄漏问题的。


基于 bundle URI 的抓取操作现已支持通过 fsck 机制 进行完整性验证,这与常规抓取操作的验证方式保持了一致。这项改进允许根据问题的严重程度,对可接受或需拒绝的异常情况进行细粒度控制。此前版本中的 bundle 抓取不支持这项功能,此次更新则显著提升了仓库操作的安全性和易用性。


在引用一致性检查方面,Git 2.48 有了新的改进。git-fsck 命令现已能够检测出引用内容非法或符号引用指向无效目标等问题。这套检测机制最初是作为 2024 年谷歌编程夏令营(GSoC)项目的开发成果出现,现已正式整合至其核心工具链中。


Lobster 和 Reddit 平台上的技术社群在该版本的发布帖下展开了讨论。Lobster 社群上的技术讨论串中提到,尽管已知 SHA-1 存在安全缺陷,Git 和 GitHub 仍在使用该算法。虽然 Git 内置了防护措施,但开发者仍担忧可能出现的兼容性问题,以及误触发哈希碰撞检测机制所带来的潜在风险。


作为 Git 2.45 版本引入的引用存储后端(用于管理分支、标签等数据),Reftables 在 2.48 版本中通过迭代器重用优化实现了性能的提升,新版解决了此前每次读取引用都需要新建迭代器的效率瓶颈。现在的 Reftables 可以通过复用单个迭代器完成多次读取操作,使得随机读取事务中的引用创建速度提升 7%,未来还可通过迭代器内部状态复用实现更多性能优化。


该版本还通过 git refs migrate 命令新增了跨后端迁移引用日志(reflog)的功能。虽然在 Git 2.46 中已引入过后端迁移工具,但此前版本无法在基于文件的传统存储方案与 Reftables 之间转换引用日志。尽管当前版本仍不支持含多个工作树的仓库迁移,但也已经为采用 Reftables 的用户消除了一大限制条件。


面向 git branchgit taggit for-each-ref 等命令的 ref-filter 子系统 也进行了性能优化,显著提升了处理大型仓库海量引用时的执行效率。


关于本次更新的完整内容,可参考 GitLab 官方公告,项目发布说明中列出了所有贡献者名单。


查看英文原文


Git 2.48: Modernized with Meson Build System, Memory Leaks Fixed (https://www.infoq.com/news/2025/01/git-modernized-meson-build/)

2025-02-13 14:0010020

评论

发布
暂无评论

架构师训练营:第五周作业-一致性 hash实现

zcj

极客大学架构师训练营

架构师训练营第五周作业 设计分布式缓存系统

Melo

极客大学架构师训练营

第5周作业

田振宇

重学 Java 设计模式:实战模版模式「模拟爬虫各类电商商品,生成营销推广海报场景」

小傅哥

Java 设计模式 小傅哥 重构 代码规范

ES5、ES6中继承的几种写法

Manito

Java

架构师训练第五周

Hanson

一致性哈希实现

娄江国

极客大学架构师训练营

架构师训练营第五周作业 一致性哈希

sunnywhy

golang实现基于虚拟节点的一致性hash算法

朱月俊

第五次作业

王锟

嗯?阿里为啥不用 ZooKeeper 做服务发现?

Java小咖秀

zookeeper 分布式 技术人生

小师妹学JVM之:JVM中的Safepoints

程序那些事

Java JVM 小师妹 性能调优 签约计划第二季

Tomcat 架构原理解析到架构设计借鉴

码哥字节

Tomccat 「Java 25周年」

架构师训练营-第五周-命题作业

sljoai

极客大学架构师训练营 第五周

架构师训练第五周一致性Hash

Hanson

【第九课 + 第十课】技术选型:缓存架构 + 消息队列与异步架构

Aldaron

可变对象和不可变对象

Leetao

Python Python基础知识

B站Up主自制秃头生成器,一键get张东升同款发型,网友:秃的太过真实

程序员生活志

程序员 B站 隐秘的角落 张东升 秃头生成器

IOTA架构实战:大数据即时多维查询引擎构建【视频】

易观大数据

大数据 架构模式 查询引擎 数据算法

高性能系统设计

dapaul

极客大学架构师训练营

一致性hash算法及java实现(转载,学习了)

王锟

真懂Spring的@Configuration配置类?你可能自我感觉太良好

YourBatman

Spring Boot Spring Framework @Configuration Spring配置类

架构师课程第五周总结

dongge

视读——沟通的艺术,看入人里,看出人外(第一章)

废材姑娘

读书笔记 视觉笔记

面试官:为什么 HashMap 的加载因子是0.75?

哪吒来踢毽子

hashmap

实现一致性哈希算法

Aldaron

分布式缓存总结

朱月俊

漫画:Integer 竟然有 6 种比较方式?

王磊

Java 编程 漫画 java编程 漫画编程

华为厦门DevCloud创新中心正式揭牌,“上云用数赋智”新助力

Geek_116789

缓存、一致性哈希和负载均衡总结(训练营第五课)

看山是山

缓存 极客大学架构师训练营 一致性hash

架构师训练营第 5 周作业——一致性Hash算法

在野

极客大学架构师训练营

Git 2.48 发布:全面迁移至 Meson 构建系统,内存泄漏问题已修复_AI&大模型_InfoQ精选文章