The format for filter-spec is defined in the options section of git rev-list --help. You can also see it in the docs. Here’s what it currently says:
–filter=<filter-spec>
Only useful with one of the –objects*; omits objects (usually blobs) from the list of printed objects. The <filter-spec> may be one of the following:
The form
--filter=blob:noneomits all blobs.The form
--filter=blob:limit=<n>[kmg]omits blobs larger than n bytes or units. n may be zero. The suffixes k, m, and g can be used to name units in KiB, MiB, or GiB. For example, blob:limit=1k is the same as blob:limit=1024.The form
--filter=sparse:oid=<blob-ish>uses a sparse-checkout specification contained in the blob (or blob-expression) <blob-ish> to omit blobs that would not be required for a sparse checkout on the requested refs.