「Git 2.25」リリース、「git sparse-checkout」コマンドの追加や細かい機能強化が行われる

 分散型バージョン管理システムGit開発チームは1月13日、最新版「Git 2.25」をリリースした。

 Git 2.25は2019年11月に公開されたGit 2.24に続く最新安定版。84人の開発者から合計583のコミットがあったという。

 実験的機能としてリポジトリの一部のみをチェックアウトする「git sparse-checkout」コマンドが新たに追加された。今までも設定ファイルを用意することで特定のディレクトリやファイルのみをチェックアウトすることができたが、コマンドラインで対象を指定するパターンを与えて同様の処理を実行できるようになった。サブコマンドとしてパターンにマッチするファイルを出力する「git parse-checkout list」コマンドも加わっている。

 そのほかの新機能として、「git range-diff」コマンドでコミット注釈(commit notes)に対する比較を制御するための「--notes=<ref>」および「--no-notes」オプションが導入されたほか、「git log」関連コマンドで「--pretty=reference」オプションが利用可能になった。「git submodule」では「set-url」サブコマンドが追加されている。いくつかのコマンドでは「--pathspec-from-file」オプション無しでpathspecを標準入力やファイル経由で指定可能になった。

 リベース時にリポジトリのブランチ構造を保持する「gir rebase」コマンドの「--preserve-merges」コマンドが廃止予定(deprecated)となった。代わりに、バージョン2.2で導入された「--rebase-merges」オプションが推奨される。

 「git branch --edit-description」コマンドで編集できるブランチの説明文が、「git format-patch」コマンドで作成されるパッチ内に挿入されるようになった。いくつかのマルチパックインデックス系処理では進捗を示すインジケーターが導入された。FreeBSD関連では、Cirrus-CIを経由してのCI(継続的インテグレーション )のサポートが加わった。

 Elixir言語向けの関数の境界を判断するためのパターンが追加されたほか、「git rev-parse --show-toplevel」コマンドをワーキングツリー外で実行した際にエラーを出力しない問題も修正されている。

 内部的な変更としては、「git add「コマンドの「-i」オプションをPerlベースからCに書き換える作業をスタートさせた。SHA-2への移行に向けたテストアップデートも継続している。「lazy cloning」のデバッグサポートも強化した。リポジトリへのgit pushの性能も強化した。

 このほか、細かな使い勝手の改善やドキュメントの改善、性能の向上、不具合の修正なども行われている。

Git
https://git-scm.com/