Check out the commit a pinned binding asks the refresh to derive from - #85
Merged
estebanzimanyi merged 1 commit intoAug 23, 2026
Conversation
resolve_repo clones a sibling at the ref the caller names, and `git clone --branch` takes a branch or a tag, so a commit SHA falls through to the full clone the fallback provides. That clone lands on the default branch, and nothing moved it onto the ref afterwards, so the refresh derived from master's tip while announcing the commit it had been given. A binding that pins reaches this path on every first run: MobilityDuck sets MDB_REF from `_MEOS_REF` in its vcpkg portfile precisely so that the catalog and the libmeos a build links come from one recorded commit, and deriving from the tip instead reintroduces the mismatch the pin exists to prevent. The re-run branch of the same function is unaffected, which is why the defect only shows on a work dir that has no clone yet. The fallback now checks the ref out, as the --branch clone it stands in for already does.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
resolve_repoclones a sibling repository at the ref the caller names.git clone --branchaccepts a branch or a tag, so a commit SHA fails that clone and falls through to the full clone
of the fallback, which lands on the default branch. The fallback checks the ref out, as the
--branchclone it stands in for does.Without that checkout the sibling sits on master's tip while the step announces the commit it is
given:
A binding that pins reaches this path on its first run in a fresh work dir. MobilityDuck sets
MDB_REFfrom_MEOS_REFinvcpkg_ports/meos/portfile.cmakeprecisely so that the catalog andthe libmeos a build links come from one recorded commit, and a catalog derived from the tip
instead carries the mismatch the pin exists to prevent — silently, since a surface generated from
a newer master still compiles against an older library. The re-run branch of the same function
fetches the ref and checks out
FETCH_HEAD, so the gap is confined to a work dir that holds noclone yet.
Run against this repository with a commit SHA that is not the tip, the fallback clone alone
leaves HEAD at
90b9899f9for a request ofaa5734e79; with the checkout, HEAD isaa5734e79.A branch ref takes the shallow
--branchclone and is untouched by this change.