Subject: bug#38320: Cuirass: Allow to use authenticated Git repositories as inputs

From: Ludovic Courtès <[email-masked]>
Date: Tue, 26 Nov 2019 11:05:09 +0100

Hi Mathieu,

Mathieu Othacehe <[email-masked]> skribis:

>> I think there are small modifications to do to (guix git) and (git
>> clone).
>
> I did integrate a part of libgit2 ssh authentification mechanism in
> Guile-Git in 2017. You can find it in (git fetch) module.
>
> It is currently broken, because of a regression. See
> https://lists.gnu.org/archive/html/guix-devel/2019-11/msg00415.html.

Oh I missed that message of yours.  Do you have a complete example using
that functionality that I could use as a test?

It would be great to have a test for that in Guile-Git.  We could use
Guile-SSH, when it’s available, to spawn an SSH server.

> What would be missing to have support for authenticated Git repositories
> as Cuirass inputs is:
>
> * Fix the regression mentionned above.
>
> * Add support for a fetch-options argument in clone method of (git clone).
>
> * In (guix git), "latest-repository-commit" method would take parameters
> to setup ssh authentication (such as ssh private key path at least) and
> pass them to "fetch" and "clone" methods of Guile-Git.
>
> * Finally in Cuirass, the ssh authentication parameters could be
> specified in the specification file (maybe for each input?) and passed
> to "latest-repository-commit" method accordingly.

I’d like to see that happen!

Thanks,
Ludo’.