Thread (1 message) 1 message, 1 author, 2020-12-09

Re: [PATCH v5 2/2] hooks: allow input from stdin for commit-related hooks

From: Junio C Hamano <hidden>
Date: 2020-12-09 22:39:16

"Orgad Shaneh via GitGitGadget" [off-list ref] writes:
It's important to note that the hook author should be aware that stdin
is not always applicable. For example, when running from IDE. This can
be checked by isatty on stdin. The hooks should handle cases of closed
input, and possibly fall-back to GUI input, or have sane defaults with
a message to the user on this case.
I think this point was already brought up in the review on previous
rounds, but when the hook needs to check the standard input anyway,
it probably is a better design to close and have the hook open tty
if needed, isn't it?  I do not recall I saw a satisfactory answer to
that question.
Allow stdin only for commit-related hooks. Some of the other hooks pass
their own input to the hook, so don't change them.

Note: If pre-commit reads from stdin, and git commit is executed with
-F - (read message from stdin), stdin cannot be passed to the hook,
since it will consume it before reaching the point where it is read for
the commit message.
It is unclear what that Note is trying to achieve.  Is it describing
a known-bug in this implementation (if so, we'd probably need to
update the documentation to mention this known regression)?  Is it
describing a reason why certain part of patch was done in a certain
way that is not described in this message (e.g. when -F option is in
effect the standard input stream is closed when invoking a hook)?

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help