[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#50274] [PATCH] guix: git: Adds feature to download git repository t
From: |
Ludovic Courtès |
Subject: |
[bug#50274] [PATCH] guix: git: Adds feature to download git repository to the store. |
Date: |
Thu, 30 Sep 2021 22:03:05 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Sarah Morgensen <iskarian@mgsn.dev> skribis:
> Ludovic Courtès <ludo@gnu.org> 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 <git-checkout>) because
it’s a case where you can’t use an <origin> because the content hash is
not known in advance (and the commit is also unknown when you use
‘--with-branch’).
Ludo’.