Subject: bug#78283: closed (Re: bug#78283: guix git authenticate is indiscriminant in which branches it applies to)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 23 Jun 2025 09:47:03 +0000

Your bug report

#78283: guix git authenticate is indiscriminant in which branches it applies to

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
78283: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78283
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#78283: guix git authenticate is indiscriminant in which branches it applies to
From: Ludovic Courtès <[email-masked]>
To: Vagrant Cascadian <[email-masked]>
Cc: [email-masked]
Date: Mon, 23 Jun 2025 11:45:50 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Ludovic Courtès <[email-masked]> writes:

> Vagrant Cascadian <[email-masked]> writes:
>
>> So, when I update my local keyring branch with new merges, guix git
>> authenticate issues a non-fatal error:
>>
>>   $ git checkout keyring
>>   Switched to branch 'keyring'
>>   $ git reset --hard 21173006e4165d8990b75ca46c78d83448d2e45a
>>   HEAD is now at 21173006e4 Add key for Greg Hogan.
>>   $ git merge --ff-only origin/keyring
>>   Updating 21173006e4..0869e2220d
>>   Fast-forward
>>    futurile-89CA9B07.key | 23 +++++++++++++++++++++++
>>    1 file changed, 23 insertions(+)
>>    create mode 100644 futurile-89CA9B07.key
>>   Authenticating commits 5010a51 to 0869e22 (31 new commits)...
>>   guix git: error: commit 0869e2220d611d7202de64dba4fa81207522a4f9 is not a descendant of introductory commit 5010a51f91aeac5a3b87a3eea04f18f3fe8a3a3
>
> Proposed fix: <https://codeberg.org/guix/guix/pulls/482>.

Pushed:

  99f85246e19 * git authenticate: Do nothing when invoked from the keyring branch.
  0ec5cab1325 * git authenticate: Gracefully handle passing an annotated tag to ‘--end’.
  56eb949f3b4 * git authenticate: Upgrade pre-push hook with a fixed version.
  55b38ddefca * git authenticate: Remove support for Guile-Git < 0.7.0.

Ludo’.

Subject: guix git authenticate is indiscriminant in which branches it applies to
From: Vagrant Cascadian <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Tue, 06 May 2025 11:31:53 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

So, when I update my local keyring branch with new merges, guix git
authenticate issues a non-fatal error:

  $ git checkout keyring
  Switched to branch 'keyring'
  $ git reset --hard 21173006e4165d8990b75ca46c78d83448d2e45a
  HEAD is now at 21173006e4 Add key for Greg Hogan.
  $ git merge --ff-only origin/keyring
  Updating 21173006e4..0869e2220d
  Fast-forward
   futurile-89CA9B07.key | 23 +++++++++++++++++++++++
   1 file changed, 23 insertions(+)
   create mode 100644 futurile-89CA9B07.key
  Authenticating commits 5010a51 to 0869e22 (31 new commits)...
  guix git: error: commit 0869e2220d611d7202de64dba4fa81207522a4f9 is not a descendant of introductory commit 5010a51f91aeac5a3b87a3eea04f18f3fe8a3a3

Which is a bit alarming!

.git/config contains:

  [guix "authentication"]
        introduction-commit = 5010a51fc91aeac5a3b87a3eea04f18f3fe8a3a3
        introduction-signer = 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
        keyring = keyring

Looks like something also created .git/hooks/post-merge:

  #!/bin/sh
  # Authenticate the repo upon 'git pull' and similar.
  exec guix git authenticate

On the one hand, I get why it magically appeared probably when I
initially ran "guix git authenticate", but on the other, it is
surprising behavior as I do not recall asking for it. :)

live well,
  vagrant