I'm implementing a prepare-commit-msg hook script that automatically fills out some values in the commit. It works fine, however it depends on a local file, which may not be present, or may not contain the value I'm looking for. In this case, I would like to offer the developer an option of manual input, which is then saved to the local file for re-use. It is also possible that on some branches the extra values are not needed at all.
What happens if I read from STDIN in the hook script? It might work if I commit from the command line, however what if I use some UI (such as Eclipse) to do the commit? Is it possible to solve this problem in any way other than to refuse the commit?