Investigate Git's sparse-checkout for improving our shallow clone usage
https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/
Pairing sparse-checkout with the partial clone feature accelerates these workflows even more. This combination speeds up the data transfer process since you don’t need every reachable Git object, and instead, can download only those you need to populate your cone of the working directory. You can test it right now with the example repository by adding --filter=blob:none to the clone command:
$ git clone --filter=blob:none --no-checkout https://github.com/derrickstolee/sparse-checkout-example Cloning into 'sparse-checkout-example'... Receiving objects: 100% (373/373), 75.98 KiB | 2.71 MiB/s, done. Resolving deltas: 100% (23/23), done. $ cd sparse-checkout-example/ $ git sparse-checkout init --cone Receiving objects: 100% (3/3), 1.41 KiB | 1.41 MiB/s, done. $ git sparse-checkout set client/android Receiving objects: 100% (26/26), 985.91 KiB | 5.76 MiB/s, done.