Description
Describe the bug
If a repo implements a prepare-commit-msg which requires user input gitui will hang on various operations that trigger the hook (commit, rebase, merge, cherry pick).
This is a pretty common pattern in repos using commitizen as one of the options that the project recommends is using prepare-commit-msg
To Reproduce
minimal example here: https://github.com/jaredmcateer/cz-gitui
Steps to reproduce the behavior:
- Open repo with prepare-commit-msg that requires user input
- Add/Modify a file
- Stage file
- Go to 'staged change' in gitui
- Press 'c'
- Observe gitui is unresponsive
Screenshots
In your processes you will see something like this:
Context (please complete the following information):
- OS/Distro + Version: tested on Mac OS Sonoma 14.7.1 & Pop_OS! 22.0.4 LTS
- GitUI Version: gitui nightly 2025-03-04 ()
- Rust version: rustc 1.82.0 (f6e511eec 2024-10-15)
Additional context
Lazygit also suffers from this, and the current workaround is to override all the commit-like commands with custom keybindings to disable Husky, but that will also kill other useful things like pre-commit hooks that run tests/linters.