Create a new author and/or committer signatures with default information based on the configuration and environment variables.
If author_out is set, it will be populated with the author
information. The GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL
environment variables will be honored, and user.name and
user.email configuration options will be honored if the
environment variables are unset. For timestamps, GIT_AUTHOR_DATE
will be used, otherwise the current time will be used.
If committer_out is set, it will be populated with the
committer information. The GIT_COMMITTER_NAME and
GIT_COMMITTER_EMAIL environment variables will be honored,
and user.name and user.email configuration options will
be honored if the environment variables are unset. For timestamps,
GIT_COMMITTER_DATE will be used, otherwise the current time will
be used.
If neither GIT_AUTHOR_DATE nor GIT_COMMITTER_DATE are set,
both timestamps will be set to the same time.
It will return GIT_ENOTFOUND if either the user.name or
user.email are not set and there is no fallback from an environment
variable. One of author_out or committer_out must be set.
0 on success, GIT_ENOTFOUND if config is missing, or error code