git cat-file: "--"エスケープパラメータはいつ導入されますか?

git cat-file: "--"エスケープパラメータはいつ導入されますか?

Gitバージョン1.8.3.1(CentOS 7で提供)では、このコマンドは機能しないようです。

git cat-file -t -- "5378198ea7a83f5fa9bb3ba17f51be3a6ffbecc1:README.md"

(明らかに、そのリビジョンに正しいgitハッシュと既存のファイルを指定してください)

これは標準エラーです。

usage: git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>
   or: git cat-file (--batch|--batch-check) < <list_of_objects>

<type> can be one of: blob, tree, commit, tag
    -t                    show object type
    -s                    show object size
    -e                    exit with zero when there's no error
    -p                    pretty-print object's content
    --textconv            for blob objects, run textconv on object's content
    --batch               show info and content of objects fed from the standard input
    --batch-check         show info about objects fed from the standard input

私にとって問題は、--エスケープパラメータが連続パラメータではなくそのタイプのエスケープとして解釈されることです。実際、これは私にとって効果的です。

git cat-file -t "5378198ea7a83f5fa9bb3ba17f51be3a6ffbecc1:README.md"

これは存在し、0次のような結果があります。

blob

簡単に言うと。

質問

--" "パラメータがgitに導入された時期を調べる方法をどのように提案しますか?

関連文書:

答え1

git cat-file以前は、引数の数を厳密に確認していましたが、これは--使用できませんでした。オプションが解析される前に確認が行われるため、引数が無効であることを示すことなく、すぐに使用方法の出力を取得できます。

これは2015年5月に削除されました; この変更を含む最初のバージョンは 2.5.0 です。

これを調べるために比較しました。cat-file.cバージョン1.8.3.1から現在の状態まで、パラメータバージョンを確認してから削除したコミットを見つけました。

関連情報