网站搜索

Git 2.53 发布,带来新的维护检查和更快的差异路径


Git 2.53 引入了维护功能“is-needed”,扩展了仓库工具,并在差异、包和对象数据库内部实现了性能改进。

在前一个 2.52 版本发布超过两个月后,Git——一个分布式版本控制系统,也是软件开发的基石,帮助开发者高效管理跨项目的代码变更——刚刚发布了 2.53 版本。

一个更显眼的新增功能是新的 git maintenance is-needed 子命令。它允许用户和工具确定是否确实需要执行维护任务,例如重新打包或引用优化,从而避免对已经健康的仓库进行不必要的后台工作。

此外,实验性的 git replay 命令现在默认使用单个事务自行更新引用,而不是发出引用更新供另一个命令应用。2.53 版本还改进了错误信息、文档和测试覆盖率,特别是在修订处理和无效参数方面。

一些日常命令也得到了渐进式增强。git blame 现在支持选择差异算法,使用户能够更好地控制更改在各个版本中的归属方式。

无论是 git apply 还是 git diff,都引入了一种新的空白字符错误类别,用于不完整的行,使此类问题更明显,并在各种工具中得到一致处理。仓库检查命令也进行了扩展,git repo info 增加了新的选项,git repo structure 的输出也更丰富,包括额外的对象数据库详细信息。

在底层,大量工作集中在性能和内部结构上。差异操作受益于一些优化,例如在运行 git diff --quiet 时禁用重命名和复制检测,因为此时只关心是否存在更改。

除此之外,在高成本的重复检测路径中内存使用量已经减少,同时针对对象数据库、包文件处理和流式 API 的重构工作也在继续。

最后,Git 2.53 推进了 Windows 上上游符号链接的支持,同时进行了测试套件的准备,并修复了 MinGW 兼容层中的众多问题。在 macOS 上,Git 现在通过绕过系统自带的 iconv 实现中的长期存在的问题来工作,而不是完全替换它。

像往常一样,此次发布以一长串修复告终,解决了崩溃、涉及非 ASCII 路径的输出错位、合并边缘情况、配置错误以及文档错误等问题。有关 Git 2.53 所有更改的更多详细信息,请参阅发布公告。