Subject: [bug#61910] [PATCH] git-download: Download a bare Git repository from SWH.

From: Ludovic Courtès <[email-masked]>
Date: Fri, 03 Mar 2023 12:12:10 +0100

Hi,

Simon Tournier <[email-masked]> skribis:

> On Thu, 2 Mar 2023 at 14:15, Ludovic Courtès <[email-masked]> wrote:

[...]

>> I wonder if we could achieve the same without creating a repo just to
>> delete it afterwards, either by invoking a low-level ‘git’ command it if
>> exists, or using Guile-Git, or doing it ourselves in Scheme.
>
> Doing it ourselves in Scheme, I do not know.  I guess it would be
> hard.
[...]

> From my understanding, this information is provided by:
>
> $ cat hidapi.guix/.gitattributes
> * text=auto
>
> *.sln text eol=crlf
> *.vcproj text eol=crlf
>
> bootstrap text eol=lf
> configure.ac text eol=lf

Uh, tricky enough.

[...]

> Kidding aside, I agree that relying on Guile-Git would mean being less
> "fragile".

Libgit2 has an “attr” interface¹ that Guile-Git only partially binds.
That interface works on a repo, so we’d still have to ‘git init’ just to
be able to read those attributes.  Not great.

¹ https://libgit2.org/libgit2/#HEAD/group/attr

But anyway, skimming through gitattributes(5) has convinced me that we
should not try to implement it by ourselves.  :-)

> About low-level 'git' command, maybe the same could be achieved
> without "git init" + "git add" + "git commit".  Well, my gitology is
> not enough skilled. :-)

I did a quick search and didn’t find anything so it looks like the
strategy you chose is the right one.

Thanks,
Ludo’.