Skip to content

fix: prefer VCS tag over composer.json version when syncing - #715

Open
s00d wants to merge 2 commits into
repman-io:masterfrom
s00d:fix/prefer-vcs-tag-over-composer-json-version
Open

s00d wants to merge 2 commits into
repman-io:masterfrom
s00d:fix/prefer-vcs-tag-over-composer-json-version

Conversation

@s00d

@s00d s00d commented Sep 12, 2026

Copy link
Copy Markdown

Summary

  • If composer.json contains a hardcoded "version" that does not match the git tag, Composer silently skips that tag.
  • Sync and webhook still look fine (202 / no error), but the release never shows up in Repman — you publish a release and nothing happens.
  • For VCS packages, ignore composer.json version and take the version from the tag/branch name (as Composer docs recommend for VCS).

Test plan

  • Unit: IgnoreComposerJsonVersionVcsDriverTest
  • Unit: ComposerPackageSynchronizerTest::testSynchronizeGitPackagePrefersTagOverComposerJsonVersion (repo with "version": "1.0.0" + tags 1.0.0 / 1.0.1)
  • Existing path/artifact sync tests still pass

Made with Cursor

s00d and others added 2 commits September 12, 2026 16:14
Composer silently skips tags when composer.json hardcodes a mismatched
version field, so webhooks succeed but new releases never appear.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add return/value types and drop banned exec() from synchronizer tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
@s00d

s00d commented Sep 12, 2026

Copy link
Copy Markdown
Author

Fixed Buddy/phpstan failures: typed VcsDriver wrapper methods, removed exec from tests.

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.

1 participant