mirror of
https://github.com/conventional-commits/conventionalcommits.org.git
synced 2026-03-14 12:55:12 -05:00
Write Imperative Present Tense Sentences #36
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @hutson on GitHub (Aug 19, 2018).
I would like to propose we establish the convention that all sentences in a commit message SHOULD be written in imperative present tense form.
Well-known examples of the imperative present tense form as a requirement:
cc @apetro @damianopetrungaro
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
RFC 2119.
@damianopetrungaro commented on GitHub (Aug 20, 2018):
I am totally fine with this!
I use this already as a best practice in all my commit messages, thanks to @apetro to point it out!
If someone wanna work on it for me it's fine.
@conventional-commits/committee what do you think about it?
@bcoe commented on GitHub (Aug 24, 2018):
I'm a -1 on this one. Even though it seems like this is probably a good habit to be in, I think it goes against the goal of our specification being as simple and flexible as possible if we start prescribing too many rules about how commit messages should be written. tldr; it adds a step without adding much value IMO.
Perhaps we could compromise and add this to the F.A.Q. section?
In our redesign @damianopetrungaro maybe we can make our F.A.Q. a bit better to read and link to?
unrelated, @hbetts perhaps we should all work together and make sure we're not deviating from
RFC 2119, I'd like to fix this.@hutson commented on GitHub (Aug 24, 2018):
Making a specification flexible seems like an antithesis of the goal of a specification.
This is definitely how I feel we should be gauging the value of adding an item to the specification.
I'm somewhat on the fence about whether the value outweighs the extra step/recommendation.
I find that the imperative form ensures a commit message description clearly states the change made, which ultimately makes it easier to reason about what my expectations should be for a commit.
However, it's difficult to enforce and easy to not follow.
I would be fine with that. Though, instead of adding a FAQ question for
should I use the imperative preset tense?, maybe generalize it a little, likewhat writing form should I use?.What did you have in mind, and should we file a separate issue to carry on that discussion?
@bcoe commented on GitHub (Aug 24, 2018):
Yeah let's start with separate issues, I appreciate the set of eyes, I bet we've drifted a bit from the RFC over time; I was fairly new to this when I hammered out the first draft with @jameswomack.
Fair point, the very act of making a specification is pretty pedantic 😝My major goals drafting the original version of this was to:
types).tldr; I'm trying to be resistant towards having too many steps if we can avoid it, which was why I leaned towards the F.A.Q. here.
@damianopetrungaro commented on GitHub (Aug 24, 2018):
@bcoe I agree with you and with @hbetts as well.
I think a good compromise would be using the FAQ and in the new UI I can do the section more relevant adding a link on the top of the page.
@bcoe commented on GitHub (Feb 18, 2019):
I think we covered this in the FAQ \o/