Although I can't find an official blog post or news regarding the support, GitHub does indeed appear to be rolling out --filter
support.
$ git clone --bare --single-branch --depth=1 https://github.com/torvalds/linux
Resulted in downloading 195.82MiB worth of around 74k objects.
$ git clone --bare --single-branch --depth=1 --filter=blob:none https://github.com/torvalds/linux
Resulted in downloading 2.15MiB worth of around 4.7k objects. That's 91x less data if all you want to do is know what files are in a repo.
Since you mention in tree:none
I tested that too. Now it results in fatal: expected 'tree:<depth>'
and my following experimentation shows that only tree:0
works, which results in downloading 603bytes or so in a bare repo. If you try to clone and checkout then git will slowly figure out the objects it needs and clone the whole repo. Numbers higher than 0 result in: fatal: remote error: filter 'tree' not supported (maximum depth: 0, but got: 1)