tree a9fbd574980919ed4871a529e1a030b7e343687c
parent f1e517d64fe4a726552f5d240a1ecb3d418f16b6
author Sean McCullough <banksean@gmail.com> 1749429837 +0000
committer Sean McCullough <banksean@gmail.com> 1749430747 -0700

dockerimg: improve git config error messages for user guidance

Fix for #140

Replace generic git config error messages with helpful instructions when
user.email or user.name are not configured in local git settings.

Problem Analysis:
The findOrBuildDockerImage function retrieves git user.email and user.name
to pass as build arguments to Docker builds. When these values are not set,
the function returned generic error messages that didn't clearly indicate
what the user needed to do to resolve the issue.

Implementation Changes:
- Updated error message for missing user.email to provide specific command
- Updated error message for missing user.name to provide specific command
- Both messages now include exact git config commands users need to run
- Error messages are user-friendly and actionable for quick resolution

Technical Details:
The git config --get commands now return clear error messages:
- user.email: "Please run 'git config --global user.email \"your.email@example.com\"'"
- user.name: "Please run 'git config --global user.name \"Your Name\"'"

Benefits:
- Users get immediate, actionable guidance when git config is incomplete
- Reduces support requests and user confusion during Docker image builds
- Clear instructions help users resolve configuration issues quickly
- Maintains existing functionality while improving user experience

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s39a72147550faa4ak
