class OhlohScm::Commit

A commit is a collection of diffs united by a single timestamp, author, and message.

OpenHub’s internal data model assumes that commits are immutable, and exist in a singly-linked list. That is, commits can be nicely numbered a la Subversion, and new commits are always added to the end of the list.

This works for CVS and Subversion, but unfortunately, does not at all map to the DAG used by Git, which allows a commit to have multiple parents and children, and which allows new commits to appear during a pull which have timestamps older than previously known commits.

This means that OpenHub’s support for systems like Git is crude at best. For the near future, it is the job of the adapter to make the Git commit chain appear as much like a single array as possible.