sharpvik / sema

Semantic commit tool
MIT License
56 stars 3 forks source link

add conventional Commits support #8

Closed mpldr closed 2 years ago

mpldr commented 2 years ago

Since Conventional Commits is similar in concept it would be great to have the possibility to mark changes as breaking and leave the scope empty without having additional parens.

sharpvik commented 2 years ago

Interesting idea, @mpldr. So there's two propositions here:

  1. Make the SCOPE section optional and don't include brackets if it is.
  2. Add the --breaking | -b flag that will do the following:
    • Add ❗ suffix to title.
    • Add BREAKING CHANGE footer to the commit template if the --long flag was specified.

Sound good?

mpldr commented 2 years ago

On Sat Jun 11, 2022 at 5:33 PM CEST, Viktor Rozenko wrote:

Interesting idea, @mpldr. So there's two propositions here:

  1. Make the SCOPE section optional and don't include brackets if it is.

:+1:

  1. Add the --breaking | -b flag that will do the following:

    • Add ❗ suffix to title.

please don't add the emoji, but rather a normal exclamation point

  • Add BREAKING CHANGE footer to the commit template if the --long flag was specified.

I'd personally prefer a standard git trailer. I have no idea where conventional commit got the idea that this was a good idea, but I am strictly against that and since CC thinks of it as optional when the exclamation point is set, I'd go the route with adding a single character instead of a non-standard trailer which may throw off parsers. see https://github.com/sharpvik/sema/issues/8#issuecomment-1152956197

sharpvik commented 2 years ago

On Sat Jun 11, 2022 at 5:33 PM CEST, Viktor Rozenko wrote:

Interesting idea, @mpldr. So there's two propositions here:

  1. Make the SCOPE section optional and don't include brackets if it is.

:+1:

  1. Add the --breaking | -b flag that will do the following:

    • Add ❗ suffix to title.

please don't add the emoji, but rather a normal exclamation point

  • Add BREAKING CHANGE footer to the commit template if the --long flag was specified.

I'd personally prefer a standard git trailer. I have no idea where conventional commit got the idea that this was a good idea, but I am strictly against that and since CC thinks of it as optional when the exclamation point is set, I'd go the route with adding a single character instead of a non-standard trailer which may throw off parsers.

Could you give an example of a "standard trailer"? I don't really know what you mean here.

mpldr commented 2 years ago

I was just reading up on it, and apparently having spaces is technically allowed

When reading trailers, there can be whitespaces after the token, the separator and the value. There can also be whitespaces inside the token and the value. The value may be split over multiple lines with each subsequent line starting with whitespace, like the "folding" in RFC 822. — git-interpret-trailers(1)

So this was a misunderstanding on my part. It's allowed, just highly unusual. A list of commonly used trailers can be found on the Kernel wiki: https://git.wiki.kernel.org/index.php/CommitMessageConventions

So TL;DR: fine by me :) please just no emojis in a commit title

sharpvik commented 2 years ago

Oh no, @mpldr, the emoji was just for emphasis here. It wouldn't be wise to use an emoji. Most companies wouldn't like that one bit...

mpldr commented 2 years ago

Potential follow-up functionality: