Development record
hand-back.sh decides whether the committed pre-push hook refused a push with printf of the push output piped into grep -q '^pre-push:', under set -o pipefail. grep -q stops reading at its first match, so when the output runs to many lines past the pipe's buffer after that line, printf is killed by SIGPIPE, pipefail fails the condition, and the report's reason drops the words saying the hook refused it. A reproduction with 400KB of multi-line output missed five times in five; ordinary push output is far smaller, so no test drives it yet.
issueresolvedminoriss-2610162030024268
hand-back.sh decides whether the committed pre-push hook refused a push with printf of the push output piped into grep -q '^pre-push:', under set -o pipefail. grep -q stops reading at its first match, so when the output runs to many lines past the pipe's buffer after that line, printf is killed by SIGPIPE, pipefail fails the condition, and the report's reason drops the words saying the hook refused it. A reproduction with 400KB of multi-line output missed five times in five; ordinary push output is far smaller, so no test drives it yet.
Frontmatter
| id | iss-2610162030024268 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610162030024268-hand-back-sh-decides-whether-the.md
open on GitHub ↗ · commit history ↗