Subject: [bug#42225] [PATCH 0/5] Add 'guix git-authenticate' command

From: Ludovic Courtès <[email-masked]>
Date: Mon, 06 Jul 2020 14:46:10 +0200

Hi,

zimoun <[email-masked]> skribis:

> On Mon, 06 Jul 2020 at 10:37, Ludovic Courtès <[email-masked]> wrote:
>
>> I put the “Invoking” node under “Development”, not sure if that’s
>> the best place.  Also, I considered doing a ‘guix git’ command,
>> of which ‘authenticate’ would be one sub-command and maybe ‘clone’
>> another one.  But for ‘clone’ I thought that ‘guix download’ would
>> be a better fit.  So I concluded that ‘guix git-authenticate’ was
>> a good choice in the end.
>
> On the topic of other subcommands, I have in mind log and tag.
>
> Currently, I have
>
> export CKT=~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq
> export SRC=~/src/guix
>
> and I run "git -C $CKT" or "git -C $SRC", for example:
>
>    git -C $SRC log | grep Update
>
> And I would like to be able to simply run;
>
>    guix git log | grep Update

Good point.  Though hopefully this particular use case (finding new
package updates) is well served by ‘guix pull --news’, no?

It’s not entirely clear to me what a ‘guix git log’ command would do in
fact: show the log for the ‘guix’ channel?  For all channels (how?)?
For the specified channel?  For what commit range?

> And the same for tagging commits.  Which implies also improve what "guix
> pull" and "guix time-machine" accept.

Tagging commits is tricky because users only have a *cached* checkout.
So if we want persistent tags, we’ll have to develop a separate
mechanism.  Could be useful, though perhaps redundant with the
(unimplemented) idea of tagging generation?

In the short term, we don’t need to solve all these problems: we can
also go for ‘git-authenticate’ and rename it once we have these other
commands.

Thanks,
Ludo’.