nodejs / node

Node.js JavaScript runtime ✨🐢🚀✨

Home Page:https://nodejs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Commit queue overwrites commit author

targos opened this issue · comments

See #52745 and #52860 (@marco-ippolito)

When the commit author and the PR author do not match, the original commit author is lost when the PR is merged.

I haven't looked at the code for the bot, but theoretically could we just replace the PR author setup with the first commit author?

I'm happy to take a look at it, but I'm not a CODEOWNER, just a triage member

@nodejs/github-bot

I think that's a limitation of the GitHub API – the alternatives/workaround are:

  • land the PR with commit-queue-rebase Add this label to allow the Commit Queue to land a PR in several commits. (i.e. no purple merge)
  • land the PR manually
  • add the original author as a co-author

I've been trying to do the latter when I notice the commit author is not the same person that sent the PR. I guess we could implement a check to refuse to land a PR when the author will be wrong.

I guess we could implement a check to refuse to land a PR when the author will be wrong.

That seems (IMO) a good solution, but I'm far from the person who would be affected by any of this

This changed recently, before when you added the "commit-queue-squash" it would squash on the first commit and keep the author of the first commit as the author of the landed commit.
Now the author of the pr becomes the author of the landed commit regardless if the first commit is theirs

I made a little experiment using the GH UI: targos#18, targos@adf6657
Squash and merge indeed changes the author (it doesn't let you keep it, you can only select the email address you want to be associated with the commit).
It adds a Co-authored-by: field to the commit message, though.

This changed recently, before when you added the "commit-queue-squash" it would squash on the first commit and keep the author of the first commit as the author of the landed commit.

I think you're misremembering, AFAIK it's always been the case that GH uses the "PR opener" as commit author – and we're using the GH API since #40666.

This changed recently, before when you added the "commit-queue-squash" it would squash on the first commit and keep the author of the first commit as the author of the landed commit.

I think you're misremembering, AFAIK it's always been the case that GH uses the "PR opener" as commit author – and we're using the GH API since #40666.

I remember #45597 maybe it was landed with git node land