Stabilising the new `nix` command line interface

I would like to help out improving and stabilizing the git support in fetchTree. I noticed that it currently performs badly in some lang2nix scenarios as it enforces full clones in most cases. This made me look into it a bit and I found out that since version 2.5.0 git gained useful features for more granular fetching of git objects, but those aren’t used yet in the fetcher. fetchTree could do a lot more towards supporting shallow cloning, and optimally this would be the default. Though, the current fetchTree interface would have to be changed slightly to enable an upgrade path towards this behavior in a fully backward compatible manner.

15 Likes