Git support for mix composer.recipe.run: the pre-flight status check,
the commit message, and the commit itself.
Summary
Functions
Stages everything and commits with the message in message_file.
Builds the commit message for a run of recipe.
Reports the state of the work tree containing dir.
Functions
Stages everything and commits with the message in message_file.
Returns {:ok, output} on a commit, :nothing_to_commit when the tree had
no changes, or {:error, output}.
@spec message(String.t(), %{config: Path.t(), flags: [atom()]}, [ Composer.Resolver.entry() ]) :: String.t()
Builds the commit message for a run of recipe.
info carries :config (the local config directory) and :flags (the
flag names that were passed). The subject stays under 72 characters; the body is
plain lines, numbered steps, no bullets.
@spec status(Path.t()) :: :not_a_repo | :clean | :dirty
Reports the state of the work tree containing dir.
Untracked files count as dirty; ignored files do not. A missing git
binary is reported as :not_a_repo.