Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [incubation] Contributions via GitHub, how to handle squash commits

I'm wondering about 'Pure merge commits are excluded' while we stumbled these days about a validation failure of a merge commit.

Ist there any know issue that merge-commits on pull-requests do not pass validations? We got the following details on incubation-project for LocationTech (https://dev.locationtech.org/eclipse-webhook/services/status_details.php?id=5978c349d848e):

Current status

The pull request did not pass Eclipse validation.


Is there a different hook between LocationTech projects and others? The origin commit has both, signed off and a signed ECA for committers E-Mail address

Can you help here explaining the circumstances?

Thanks in advance
--
Frank



2017-07-26 23:28 GMT+02:00 Wayne Beaton <wayne.beaton@xxxxxxxxxxxxxxxxxxxxxx>:
All commits authored by contributors who are not project committers must be signed off. To pass the IP validation hook (i.e. to get a green light), the author email must match the signed-off-by email, and we need to have a signed ECA for that email address.

The IP tools scan git repositories using a variation of this query:

git log --exclude='_old/*' --branches --no-merges --numstat --format=fuller

Basically every commit the repository is indexed regardless of branch. Pure merge commits are excluded, but I'm pretty sure that this will include the squashed commits (they're just commits, right?). If this query is wrong, please open a bug against "Community/IP Log Tool" and we can discuss it there.

Note that we support a notion of multiple authors on a commit using "Also-by" tags in the commit message footer.

I can confirm that the index includes commit a801ef49386cc13c156ebf2a4dd8eceb9b8c91cf.

The tools only work as well as the data provided. The commit that's attributed to you has a different email address than what you've registered for your Eclipse Foundation account. It also appears that Jakub is using a different email address in Git commits than is registered in his account. I've added mappings for these email addresses (that will be included in the queries when the indexer script run tonight).

If you can send me a private email with the list of things that you feel are incorrect in the log, I can address the issues specifically. I don't think that there's any value for the list to see that interaction.

There is more information about IP Logs and the IP Log Generator in the handbook. I'll put some energy into expanding how the generator decides what to include and how to identify and fix problems.

Wayne



On Wed, Jul 26, 2017 at 1:26 PM, Jens von Pilgrim <developer@xxxxxxxxx> wrote:
Thanks for the answers so far. I probably didn't make myself clear.
So I will follow up on that:

1) When does a contributor needs to "sign-off" a commit.

The ip-validation give a green light if at least one commit was signed-off.
E.g.
        https://github.com/eclipse/n4js/pull/77

The contributor (szarnekow) didn't signed off all commits. We were still able to (squash) merge the commit.

My question basically is: What is required (by the ip-validation) to give a green light?

2) How are "Squash and Merge" commits recognized by the ip-tooling?

Apparently the ip-tooling is aware of "Squash and Merge" commits. We ONLY use squash-and-merge commits. E.g.

https://github.com/eclipse/n4js/commit/a801ef49386cc13c156ebf2a4dd8eceb9b8c91cf

In the Who's involved section of the project page, all contributors are listed: https://projects.eclipse.org/projects/technology.n4js/who

The can be further analyzed when creating an IP log. The commit above is listed as

Brian Thomas Smith (1 contribution)
a801ef  70,480 lines    07/21/2017      #85: Update (prepared) download section of N4JS webpage (#86)

which is correctly assigned to the contributor.

Unfortunately this is where the "everything works fine" seems to stop.
In our generated IP log,
- I see the "Squash and Merge" commits correctly assigned to the contributors
- I see some commits assigned to committers. (to different branches)
- I do not see a lot of other commits (from committers)

"Any commit that was authored by non-committers are automatically listed. Please see Handling Git Contributions to ensure that Git commits are properly structured." [https://wiki.eclipse.org/PMI/IP_Log_Generator]

The "Handling Git" [https://wiki.eclipse.org/Development_Resources/Handling_Git_Contributions#Git] doesn't explain our IP log result.
At least in our case, a lot of commits from committers are listed as "contributions".

What are the rules in the IP-tooling to create the IP-log? What do I need to keep in mind when using "Squash and Merge" commits? Should also committers work on forks instead of branches to keep the IP-log short?
Or are there simply bugs in the IP-log generator?

Best regards,
Jens


_______________________________________________
incubation mailing list
incubation@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/incubation



--
Wayne Beaton
Director of Open Source Projects
The Eclipse Foundation

_______________________________________________
incubation mailing list
incubation@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/incubation



Back to the top