报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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:009961

评论

发布
暂无评论

华为云专家出品《从零到一•Python图像处理入门》电子书

华为云PaaS服务小智

Python 华为 华为云 华为开发者大会2023

Redis跳跃表是如何添加元素的?

小小怪下士

Java redis 面试

程序员用哪一种IDE写代码比较好?

没有用户名丶

推荐几款可以大幅提高开发效率的vscode插件 | 京东云技术团队

京东科技开发者

Vue 前端 vscode

2023银川市等级保护测评中心地址在哪里?有几家?

行云管家

等保 等保测评 等级测评 银川

强化学习从基础到进阶--案例与实践[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动 DDPG算法

HTML5 游戏开发实战 | 黑白棋

TiAmo

html html5 6 月 优质更文活动

【直播预告】HarmonyOS极客松赋能直播第三期:一次开发多端部署与ArkTS卡片开发

HarmonyOS开发者

HarmonyOS

软件测试/测试开发丨Python内置库学习笔记

测试人

Python 软件测试 io 科学计算 内置库

G1垃圾回收参数调优及MySQL虚引用造成GC时间过长分析 | 京东云技术团队

京东科技开发者

MySQL G1 GC 企业号 6 月 PK 榜

Intellij IDEA 插件开发 | 京东云技术团队

京东科技开发者

Java IntelliJ IDEA 企业号 6 月 PK 榜 插件工程

强化学习从基础到进阶--案例与实践[7.1]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解项目实战

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动 DDPG算法

瓴羊Quick BI四度入选魔力象限报告,标志着BI系统的国产化进程加速

对不起该用户已成仙‖

【网络安全】堡垒机对于企业的重要性你知道吗?

行云管家

云计算 运维 网络安全 堡垒机

强化学习从基础到进阶-常见问题和面试必知必答[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动 DDPG算法

再见Navicat,dbeaver才是真香

程序员小毕

Java 数据库 程序员 后端 架构师

CSS中常用的颜色格式

南城FE

CSS css3 前端 设计

Spring Boot配置文件加载顺序详解

2756

一文搞定PCB元器件的布局布线

华秋PCB

元器件 PCB 布局 PCB设计 布线

SQL 优化(二):避免隐式转换

hungxy

构建系列之新一代利器Esbuild(下)

江湖修行

前端 cli 构建 #web esbuild

直播系统源码知识分享:解你忧愁!降低直播延迟的实现

山东布谷科技

软件开发 源码搭建 直播系统源码 直播源码

安全专家们看过来,易安联EnSRC第二期众测启动

权说安全

快上车,搭乘HUAWEI HiCar驶向未来

HarmonyOS SDK

HMS Core

从Kafka中学习高性能系统如何设计 | 京东云技术团队

京东科技开发者

云计算 kafka 高性能 企业号 6 月 PK 榜

一图讲清楚公众号扫码关注绑定手机号自动登录

越长大越悲伤

微信 公众号接入

STC89C52+AT24C02实现设备开机次数记录

DS小龙哥

6 月 优质更文活动

BI分析能力:当今企业必备核心竞争力

夜雨微澜

图文结合带你搞懂GreatSQL体系架构

GreatSQL

greatsql greatsql社区

MaxCompute湖仓一体近实时增量处理技术架构揭秘

阿里云大数据AI技术

sql 大数据 分布式计算 数据处理 企业号 6 月 PK 榜

大语言模型的开发利器langchain

程序那些事

程序那些事 AIGC ChatGPT 大语言模型

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