#[non_exhaustive]pub struct Commit {
pub id: String,
pub description: String,
pub author: Option<String>,
pub date: Option<String>,
}Expand description
One commit/change from the repository history — the honest least common
denominator between git’s typed git log (vcs_git::parse::Commit, which
carries hash/short-hash/author/date/subject) and jj’s typed jj log
(vcs_jj::parse::Change, which carries change-id/commit-id/empty/description).
See Repo::log.
author/date are Some only on git: jj’s typed log doesn’t currently
surface authorship or a timestamp (its template renders only the id/empty/
description columns), so this DTO leaves them None on jj rather than
fabricating a value.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: StringThe commit’s identifying hash: git’s full object id (%H) / jj’s
(already-short) commit id.
description: StringCommit message: git’s subject line (%s) / jj’s first description line.
Author name (git %an); None on jj (see the type docs).
date: Option<String>Author date, strict ISO-8601 on git (%aI); None on jj (see the type
docs).