Sometimes commits that are insignificant on their own provide larger value together. We use a learning algorithm to group these commits together into a commit group. We group these commits based on three main criteria:
The proximal time of the commits, up to a few hours apart
The line(s) impacted by each change, where overlapping lines increase the odds of a match
The words and phrases used in each commit message
After two or more commits are grouped together, they can be treated, and analyzed as one single set of changes. This allows for significantly easier digestion of a set of changes that would otherwise be a set of revisions on the same pieces of code. If a developer checks in a feature over a set of commits rather than a single one, you needn’t worry about looking at every single one of those.
Our system is constantly learning and being taught new ways to group commits together, and you can manually add and remove commits to a group and create your own new commit groups.