Hi, Sarah Morgensen skribis: > Ludovic Courtès writes: > >>> +(define* (download-git-to-store store url commit >>> + #:optional (name (basename url)) >>> + #:key (log (current-error-port)) recursive?) >>> + "Download Git repository from URL at COMMIT to STORE, either under NAME or >>> +URL's basename if omitted. Write progress reports to LOG. RECURSIVE? has the >>> +same effect as the same-named parameter of 'git-fetch'." >> >> Can we use ‘latest-repository-commit’ instead? The difference is that >> it’ll populate ~/.cache/guix/checkouts, but I think that’s fine. >> >> OTOH, if we want to make it easier to support other VCSes, we can choose >> to not use (guix git) at all and instead use ‘git-fetch’ in (guix >> git-download), ‘hg-fetch’ in (guix hg-download), etc. This code would >> go to (guix scripts hash). >> >> WDYT? > > Would using 'git-fetch' mean that it's already in the store (and > therefore won't be redownloaded) when it's subsequently used in a > source? That would be even better than latest-repository-commit! Yes, you’re right. > (Presumably --with-commit and friends also use 'git-fetch'?) No, they use ‘latest-repository-commit’ (via ) because it’s a case where you can’t use an because the content hash is not known in advance (and the commit is also unknown when you use ‘--with-branch’). Ludo’.