Currently, `create_semantic_commit` only handles `Diff::None` and `Diff::Reserved`, so should handle `Diff::General` and `Diff::NonReserved`.