Skip to content

feat: add --no-verify flag to skip git hooks#141

Merged
rm-hull merged 8 commits into
mainfrom
feat/no-verify
Jul 2, 2026
Merged

feat: add --no-verify flag to skip git hooks#141
rm-hull merged 8 commits into
mainfrom
feat/no-verify

Conversation

@rm-hull

@rm-hull rm-hull commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Introduced the --no-verify flag to allow bypassing pre-commit or commit-msg hooks during the commit process, mirroring native git functionality. Updated the CLI parser, application flow, and internal Git client to propagate this option.

Introduced the `--no-verify` flag to allow bypassing pre-commit or
commit-msg hooks during the commit process, mirroring native git
functionality. Updated the CLI parser, application flow, and internal
Git client to propagate this option.
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor
TestsPassed ✅SkippedFailed
JUnit Test Report57 ran57 passed0 skipped0 failed
TestResult
JUnit Test Report
com/rm-hull/git-commit-summary/internal/config.TestLoad/Defaults✅ passed
com/rm-hull/git-commit-summary/internal/config.TestLoad/WithEnvironmentVariables✅ passed
com/rm-hull/git-commit-summary/internal/config.TestLoad✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/handle_empty_quoted_strings✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/empty_file,_add_new_properties✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/existing_file,_update_properties✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/doesnt_overwrite_values_if_new_value_is_the_same✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/existing_file,_add_new_and_update_existing✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/preserve_comments_and_other_lines✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/handle_mixed_quoting_styles✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/empty_props,_no_changes✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties/properties_with_special_characters✅ passed
com/rm-hull/git-commit-summary/internal/config.Test_updateProperties✅ passed
com/rm-hull/git-commit-summary/internal/git.TestClient_prepareCommitMessage/Single_line_message_with_skipCI✅ passed
com/rm-hull/git-commit-summary/internal/git.TestClient_prepareCommitMessage/Multi-line_message_with_skipCI✅ passed
com/rm-hull/git-commit-summary/internal/git.TestClient_prepareCommitMessage/Single_line_message_without_skipCI✅ passed
com/rm-hull/git-commit-summary/internal/git.TestClient_prepareCommitMessage/Multi-line_message_without_skipCI✅ passed
com/rm-hull/git-commit-summary/internal/git.TestClient_prepareCommitMessage/Empty_message_with_skipCI✅ passed
com/rm-hull/git-commit-summary/internal/git.TestClient_prepareCommitMessage✅ passed
com/rm-hull/git-commit-summary/internal/llm_provider.TestNewProvider/GoogleProvider✅ passed
com/rm-hull/git-commit-summary/internal/llm_provider.TestNewProvider/OpenAIProvider✅ passed
com/rm-hull/git-commit-summary/internal/llm_provider.TestNewProvider/UnknownProvider✅ passed
com/rm-hull/git-commit-summary/internal/llm_provider.TestNewProvider✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory/NewHistory✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory/Add_and_Value✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory/Undo✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory/Redo✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory/Undo_at_beginning✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory/Redo_at_end✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory/Add_truncates_future_history✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory/Multiple_Undos_and_Redos✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestHistory✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/tea.KeyMsg_-_CtrlC_in_showSpinner_state✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/tea.KeyMsg_-_CtrlC_in_other_states✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/gitCheckMsg_-_empty_(no_staged_changes)✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/gitCheckMsg_-_non-empty_(staged_changes)✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/gitDiffMsg_with_hint✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/llmResultMsg_-_with_user_message✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/llmResultMsg_-_without_user_message✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/commitMsg✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/regenerateMsg_-_initializes_promptView_with_current_hint✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/userResponseMsg_-_updates_m.hint✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/cancelRegenPromptMsg_-_re-enables_help_text✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/errMsg✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/abortMsg✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/spinner.Update_for_showSpinner_state✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/commitView.Update_for_showCommitView_state✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/promptView.Update_for_showRegeneratePrompt_state✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/llmResultMsg_-_YOLO_mode✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/llmResultMsg_-_YOLO_mode_-_empty_summary✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update/gitDiffMsg_-_includes_recent_commits_in_prompt✅ passed
com/rm-hull/git-commit-summary/internal/ui.TestModel_Update✅ passed
com/rm-hull/git-commit-summary/internal/version.TestCheckLatestReturnsLatestWhenNewer✅ passed
com/rm-hull/git-commit-summary/internal/version.TestCheckLatestReturnsEmptyWhenUpToDate✅ passed
com/rm-hull/git-commit-summary/internal/version.TestCheckLatestReturnsEmptyForDevel✅ passed
com/rm-hull/git-commit-summary/internal/version.TestCheckLatestWithRevSuffix✅ passed
com/rm-hull/git-commit-summary/internal/version.TestCheckLatestWithRevSuffixAndUpToDate✅ passed

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new --no-verify flag to skip git commit hooks, propagating it from the CLI to the git client. Feedback focuses on correcting the terminology of the flag's description in the README and CLI help text (as Git uses pre-commit and commit-msg hooks rather than 'pre-verify' hooks). Additionally, it is recommended to refactor the CLI flag binding to use a regular boolean variable instead of a pointer to avoid unnecessary dereferencing, and to group the growing list of boolean parameters in the application's Run method into a single configuration struct to eliminate a boolean parameter code smell.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread README.md Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread main.go Outdated
Comment thread internal/app/app.go Outdated
rm-hull and others added 5 commits July 2, 2026 23:59
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@coveralls

coveralls commented Jul 2, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 28627657500

Warning

No base build found for commit c4d9ed0 on main.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 31.188%

Details

  • Patch coverage: 17 uncovered changes across 3 files (0 of 17 lines covered, 0.0%).

Uncovered Changes

File Changed Covered %
main.go 9 0 0.0%
internal/app/app.go 4 0 0.0%
internal/git/client.go 4 0 0.0%

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 1321
Covered Lines: 412
Line Coverage: 31.19%
Coverage Strength: 0.34 hits per line

💛 - Coveralls

Consolidated multiple command-line arguments into a `RunOptions` struct
to simplify the signature of the `App.Run` method and improve
maintainability of CLI flags.

```mermaid
graph TD
    A[main.go] -->|Populates| B(RunOptions)
    B -->|Passed to| C[App.Run]
    C -->|Uses| D[internal/app/app.go]
```
@rm-hull

rm-hull commented Jul 2, 2026

Copy link
Copy Markdown
Owner Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new --no-verify flag to bypass pre-commit and commit-msg hooks, and refactors the application to use a RunOptions struct for passing configuration options to the Run method. Feedback on these changes highlights two issues: the error returned by application.Run in main.go is currently ignored, and a potential nil pointer dereference could occur in internal/app/app.go if opts is nil.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread main.go
Comment thread internal/app/app.go Outdated
- Changed `Run` method signature to accept `RunOptions` by value instead

  of a pointer for consistency.
- Updated `main.go` to initialize `RunOptions` as a value.
- Added `handleError(err)` call in `main.go` to ensure application
  failures are properly reported.
@rm-hull rm-hull merged commit e5b18b8 into main Jul 2, 2026
3 checks passed
@rm-hull rm-hull deleted the feat/no-verify branch July 2, 2026 23:19
rm-hull added a commit that referenced this pull request Jul 2, 2026
…t/hooks

* 'main' of github.com:rm-hull/git-commit-summary:
  feat: add `--no-verify` flag to skip git hooks (#141)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants