Skip to content

[backport maven-4.0.x] fix #12583: Inverted file existence check in DefaultTransport.put() - #12619

Merged
gnodet merged 1 commit into
maven-4.0.xfrom
backport/12612-to-maven-4.0.x
Jul 29, 2026
Merged

[backport maven-4.0.x] fix #12583: Inverted file existence check in DefaultTransport.put()#12619
gnodet merged 1 commit into
maven-4.0.xfrom
backport/12612-to-maven-4.0.x

Conversation

@gnodet

@gnodet gnodet commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

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.x

Original description

The condition Files.isRegularFile(source) in DefaultTransport.put() was inverted — it should have been !Files.isRegularFile(source). This caused put() to reject valid existing files and silently accept non-existent ones, which broke putBytes() and putString() transitively.

Fix: Added the missing ! negation operator.

Tests: Added DefaultTransportTest with tests for non-existent file rejection, valid file acceptance, and the putBytes() -> put() delegation chain.

Closes #12583


🤖 Generated with Claude Code

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 gnodet left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 gnodet added this to the 4.0.0-rc-6 milestone Jul 29, 2026
@gnodet
gnodet merged commit 3789769 into maven-4.0.x Jul 29, 2026
24 checks passed
@gnodet
gnodet deleted the backport/12612-to-maven-4.0.x branch July 29, 2026 18:39
@github-actions

Copy link
Copy Markdown

@gnodet Please assign appropriate label to PR according to the type of change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants