[backport maven-4.0.x] fix #12583: Inverted file existence check in DefaultTransport.put() - #12619
Conversation
The condition Files.isRegularFile(source) in DefaultTransport.put() was inverted — it threw when the file existed and silently accepted non-existent files, breaking putBytes() and putString() transitively. Added the missing negation and a new DefaultTransportTest covering non-existent file rejection, valid file acceptance, and the putBytes() delegation chain. Closes #12612
gnodet
left a comment
There was a problem hiding this comment.
LGTM — clean backport of the one-character bug fix from PR #12612. The diff is byte-for-byte identical to the already-merged master fix.
The fix is correct: DefaultTransport.put() line 101 currently reads if (Files.isRegularFile(source)) which throws when the file IS a regular file — the exact opposite of the intent expressed by the error message. Adding the ! negation makes the guard reject non-existent or non-regular files as intended.
The new DefaultTransportTest covers the three key scenarios (non-existent file rejection, existing file acceptance, and putBytes() → put() delegation). Tests use already-available module dependencies.
This review was generated by an AI agent and may contain inaccuracies. Please verify all suggestions before applying.
Claude Code on behalf of gnodet
|
@gnodet Please assign appropriate label to PR according to the type of change. |
Backport of #12612
Cherry-pick of #12612 onto
maven-4.0.x.Original PR: #12612 - fix #12583: Inverted file existence check in DefaultTransport.put()
Original author: @elharo
Target branch:
maven-4.0.xOriginal description
The condition
Files.isRegularFile(source)inDefaultTransport.put()was inverted — it should have been!Files.isRegularFile(source). This causedput()to reject valid existing files and silently accept non-existent ones, which brokeputBytes()andputString()transitively.Fix: Added the missing
!negation operator.Tests: Added
DefaultTransportTestwith tests for non-existent file rejection, valid file acceptance, and theputBytes()->put()delegation chain.Closes #12583
🤖 Generated with Claude Code