====== Commit Message Format Rules ======
It is desirable to keep the history of the stable branch ''develop'' as clean and linear as possible for more effective code review and automatic generation of CHANGELOG.md. There are a few ways to achieve this with Git, but here the process is established to put the burden on the developer of a new branch. More specifically the developer of ''issue3'' must squash all local commits from ''issue3'' branch into a single properly formatted commit before publishing changes and doing a pull request to ''develop''. If you are new to squashing commits start [[http://www.git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits|here]].
Before going through the steps for doing this a word on the standard format for the commits. The consolidated commit message must follow the following conventions adapted from [[https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#|Google project AngularJS]] which will greatly enhanced the historical information on develop and allow for automatic generation of the changelog. The format of the commit message must follow the following convention.
():
Any line of the commit message must not be longer than 100 characters. This allows the message to be easier to read on github as well as in various git tools.
****
Should be either of the following:
* feat (when working on new feature)
* fix (when fixing a bug or addressing a security vulnerability)
* docs (when working on documentation)
* style (improving formatting, missing semi colons, indentation, etc.)
* refactor (when doing minor or major refactoring work)
* test (when adding missing tests)
* chore (maintain)
****
Should specify the location of the commit as succinctly and completely as possible (e.g. $location, $rootScope, ngHref, ngClick, ngView)
****
Subject line contains succinct description of the change. Remember it must not be longer than 100 characters and this *includes* both the () identified before. Here are some convensions:
* use imperative, present tense: "change" not "changed" nor "changes"
* don't capitalize first letter
* no period full stop (.) at the end
****
[Optional] Slightly more elaborated description possibly spanning over several lines never more than 100 characters each.
* just as in use imperative, present tense
* includes motivation for the change and contrasts with previous behavior
**