I was reading through this Git Commit Message Conventions document for a project and discovered what I think to be an improper recommendation to use imperative mood.
First, if you're not familiar with Git, here is a little background. Git is source code management software. When you make a change to your code you "commit" the code to the repository. When you "commit" you need to include a message explaining what the "commit" does or changed.
The document, based on this blog post, says to use imperative, but the example does not seem to be imperative. Instead it just seems like a fragment. In fact the blog post says that the message should describe what will happen if the commit (the set of changes) is applied.
It seems weird for it to be imperative:
[You,] rename the iVars to remove the common prefix.
[Let it] rename the iVars to remove the common prefix.
When this really what it should mean:
[This commit will] rename the iVars to remove the common prefix.
[Applying this commit will] rename the iVars to remove the common prefix.
I have two questions:
Am I correct that imperative is the wrong grammatical construct?
Is there a grammatical name for dropping the subject, as in the latter example?