eclipse-platform / .github

Common contribution content for eclipse-platform repositories
https://www.eclipse.org/eclipse/
5 stars 10 forks source link

Elaborate recommendations for commit message #125

Closed jonahgraham closed 1 year ago

jonahgraham commented 1 year ago

There is a desire in the community to have full URLs in commit messages to fixed issues, rather than the short form of simply #1234.

This commit adds that recommendation and expands on the example of a desirable commit message format.

This came out of a conversation on https://github.com/eclipse-platform/eclipse.platform.debug/pull/138 where @iloveeclipse requested full URLs and I wanted a link to what a commit message should look like.

iloveeclipse commented 1 year ago

Thanks Jonah.

The reasoning is simple: with full url anyone from IDE can go to the related issue with a single click. Without full url one has to find right project link on github, copy/paste url and copy/paste issue number etc.

I know that because I often (almost every day lookimg for root causes of regressions) want to understand why a commit was needed at all and it is a pain to do it manually.

jonahgraham commented 1 year ago

The reasoning is simple: with full url anyone from IDE can go to the related issue with a single click. Without full url one has to find right project link on github, copy/paste url and copy/paste issue number etc.

Thank you for including your reasoning here - it is what I suspected so thanks for providing it here.

Bananeweizen commented 1 year ago

If that full URL is important, shouldn't we create a PR template then? I wouldn't have learned about this requirement at all, I just stumbled over the change notification now. As an example, this is what Jenkins uses: https://github.com/jenkinsci/jenkins/blob/master/.github/PULL_REQUEST_TEMPLATE.md. Please compare the normal view very carefully with the code view of that file. It contains lots of comments (in the code view) that are visible during creation of the PR, but not in the rendered version anymore. And those comments are where they ask for a Jira issue link etc.

(And I haven't understood, whether we meanwhile have some central place to administrate such templates, instead of doing that in each repo and organization. Otherwise I would raise an issue at that place.)

jonahgraham commented 1 year ago

I don't think a template accomplishes that as the pr template doesn't lead to the commit message.

Maybe a gha check?

Bananeweizen commented 1 year ago

It wouldn't be possible to make the PR template modify the commit message or check it automatically. Sorry if I caused a confusion with that. But it would be the most simple way to tell contributors what we expect. E.g.

If all of that is contained in HTML comment markers, then it doesn't change the created PR message at all (compared to having no template), but still provides instructions. Regular contributors are able to ignore this comment in the message creation window and don't even have to delete it. There are other projects that embed huge markdown checklists in those templates, but those easily become a burden, IMO. So if we balance this more to the "instructions only" side I would imagine this to be helpful for newbies and not disturbing for regular contributors.

jonahgraham commented 1 year ago

@Bananeweizen - all those suggestions are good ideas to me - I suggest you make a PR to add them to the repo(s)