在上一次发布 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 路径的输出错位问题、合并异常情况、配置错误以及文档错误。

