commit abstract method

Future<GitOid> commit(
  1. String message, {
  2. GitIdentity? identity,
  3. bool allowEmpty = false,
})

Commits the staged changes with message and returns the new commit's object name.

message is cleaned before it is recorded: trailing whitespace is removed from every line, blank lines at the start and at the end are dropped, a run of blank lines inside the message becomes a single blank line, a final newline is added, and lines starting with # are kept as they are. A message that is empty once cleaned is refused.

When identity is given, it is used as the author and committer through the repository environment, whatever the configuration says. With allowEmpty, a commit is created even when the index holds no change.

Implementation

Future<GitOid> commit(
  String message, {
  GitIdentity? identity,
  bool allowEmpty = false,
});