]> Kevux Git Server - rit/commit
apply: fix new-style empty context line triggering incomplete-line check
authorJunio C Hamano <gitster@pobox.com>
Tue, 17 Mar 2026 18:01:38 +0000 (11:01 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 17 Mar 2026 18:46:47 +0000 (11:46 -0700)
commitafdb4c665f664e04c0f68c930ad50e5b05be71e1
treeef9a19c5e5ab6eb01303a3a0f77432d653278645
parent6a41481c6de1cedb059930a710896c5ab2508a12
apply: fix new-style empty context line triggering incomplete-line check

A new-style unified context diff represents an empty context line
with an empty line (instead of a line with a single SP on it).  The
code to check whitespace errors in an incoming patch is designed to
omit the first byte of a line (typically SP, "-", or "+") and pass the
remainder of the line to the whitespace checker.

Usually we do not pass a context line to the whitespace error checker,
but when we are correcting errors, we do.  This "remove the first
byte and send the remainder" strategy of checking a line ended up
sending a zero-length string to the whitespace checker when seeing a
new-style empty context line, which caused the whitespace checker to
say "ah, you do not even have a newline at the end!", leading to an
"incomplete line" in the middle of the patch!

Fix this by pretending that we got a traditional empty context line
when we drive the whitespace checker.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
apply.c
t/t4124-apply-ws-rule.sh