When the calculated version equals the current version (e.g., first release with version already at 0.1.0), git commit fails with nothing to commit. Now create_release_commit checks for staged changes via git diff --cached --quiet and returns False if there are none, skipping the commit and push. The tag is still created and pushed.
Tests
test_skips_when_no_changes: verifies create_release_commit returns False and skips git commit
test_full_flow_no_commit: verifies the full flow skips commit push but still tags
Closes GRM-34
## Summary
When the calculated version equals the current version (e.g., first release with version already at 0.1.0), git commit fails with nothing to commit. Now create_release_commit checks for staged changes via git diff --cached --quiet and returns False if there are none, skipping the commit and push. The tag is still created and pushed.
### Tests
- test_skips_when_no_changes: verifies create_release_commit returns False and skips git commit
- test_full_flow_no_commit: verifies the full flow skips commit push but still tags
Closes GRM-34
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
When the calculated version equals the current version (e.g., first release with version already at 0.1.0), git commit fails with nothing to commit. Now create_release_commit checks for staged changes via git diff --cached --quiet and returns False if there are none, skipping the commit and push. The tag is still created and pushed.
Tests
Closes GRM-34
All CI checks pass. Fix handles the edge case where version is unchanged by checking staged changes before committing. LGTM.