Skip to content

non-conventional commit provided as example #644

@FyiurAmron

Description

@FyiurAmron

The example commit message of

feat!: send an email to the customer when a product is shipped

is actually non-conventional. The conventional style of commit message is that the imperative verb describes the character of the change done by the commit (add, allow, fix, drop, change, prevent, correct, substitute etc.) - in this example, however, the verb is part of the functionality of the feature that was implemented. Arguably, the commit verb says what the commit will do - and here, the commit doesn't "send an email", it "allow[s] to send an email" or "add[s] sending an email" etc.

Also, the rules say commit should say "what" and "why". In this case, grammatically the "what" is not obvious, and has to be explicated from the context (are we adding this functionality? maybe there is a post-commit hook that actually sends the emails and the commit is needed for that?)

If a style allowing just the title of the functionality implemented is allowed, it's possible it will be even more ambiguous than here - what if you're working on a bug tracker software patch? (Jira or Redmine e.g.) You'd then have e.g. "feat: remove bug list view", and now tell me: does this remove the bug list view from the software, or adds the functionality to remove the bug list view for the software user? :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions