Hello guix! I recently had trouble with `guix git authenticate`'s default behavior of placing a hook to your git repository to re-run `guix git authenticate` every time you push and was wondering if it was worth re-considering. In my case, I was contributing to guix so I made a fork of the official repo on codeberg and followed 'Building from Git' from the guix manual which told me to run `guix git authenticate` after pulling the repo. I then proceeded to make a change and commit it locally and then tried to push it to my fork. This resulted in an error message about how my commit isn't signed and blocked me from pushing. The solution here is to delete the .git/hooks/pre-push that `guix git authenticate` created, but it took a while to figure it out and it was quite confusing. It was quite discouraging to me that following the official instructions wasn't enough to contribute to guix. It would be nice if the manual warned you that if you were doing this with a fork, you should look at the `Invoking Guix Authenticate` chapter of the guix manual to see how to add your GPG key as a valid signature for your branch (or suggest deleting the pre-push hook if you don't care).

I also think that `guix git authenticate` creating a git hook without
any prompting or explicit arguments is pretty invasive behavior in general and doesn't really justify itself. I would prefer it if you had to do something like `guix git authenticate --add-hook` or similar (or just have users create the hook themselves, it isnt a big deal imo)

Reply via email to