GNU bug report logs -
#65866
[PATCH 0/8] Add built-in builder for Git checkouts
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Mon, 11 Sep 2023 14:25:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #68 received at 65866 <at> debbugs.gnu.org (full text, mbox):
Hi Maxim,
On Wed, 20 Sept 2023 at 18:05, Maxim Cournoyer
<maxim.cournoyer <at> gmail.com> wrote:
> > + (parameterize ((%verify-swh-certificate? #f))
> > + (format (current-error-port)
> > + "Trying to download from Software Heritage...~%")
> > +
> > + (swh-download url commit directory)
> > + (when (file-exists?
> > + (string-append directory "/.gitattributes"))
> > + ;; Perform CR/LF conversion and other changes
> > + ;; specificied by '.gitattributes'.
> > + (invoke git-command "-C" directory "init")
> > + (invoke git-command "-C" directory "config" "--local"
> > + "user.email" "you <at> example.org")
> > + (invoke git-command "-C" directory "config" "--local"
> > + "user.name" "Your Name")
> > + (invoke git-command "-C" directory "add" ".")
> > + (invoke git-command "-C" directory "commit" "-am" "init")
> > + (invoke git-command "-C" directory "read-tree" "--empty")
> > + (invoke git-command "-C" directory "reset" "--hard")
> > + (delete-file-recursively
> > + (string-append directory "/.git")))))))
>
> I'm not familiar with this code, but was wondering why we need to do
> this post processing and handle .gitattributes. I never care about this
> on my GNU/Linux machine when using 'git clone'. Perhaps 'git fetch' is
> used directly, which is why?
>
> Time passes... Ah! I misread -- that's peculiar to Software Heritage.
We need to post-process .gitattributes because it depends on how the
remote host serves the files. And yeah it mainly comes from SWH. :-)
They store the files with an uniform normalization and so without
applying .gitattributes, we do not necessary get the correct checksum.
To my knowledge, we cannot do better than these sequential Git commands.
Cheers,
simon
This bug report was last modified 1 year and 203 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.