Repository navigation
Conversation
Remote helpers receive Git date expressions before wire normalization. Apply shallow selectors before requested-tip selection so an empty result cannot become a depth-one checkout.
Advertise an archive side tip instead of the ancestor under raw-fetch admission test. Its exclusion closure still contains that ancestor, preserving both selector and admission assertions.
This was referenced Oct 15, 2026
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.
Shallow clones on the indexed-read stack reject ISO dates before fetch selection, while a future numeric cutoff or excluding the requested branch incorrectly succeeds with a one-commit checkout. Normalize helper dates with Git's own parser and reject empty selections in the shared upload-pack planner before producing or installing a pack.
Stacked correction to #584. Focused real RustFS qualification passed. Draft while the broader CLI smoke and initiative release gates remain pending; no merge requested.
Change
file://Git comparisons: exact selected OIDs, exact shallow boundary, visible file contents, and explicit rejection of empty selections.Evidence
invalid deepen-since value.--shallow-exclude mainboth incorrectly succeed and install a one-commit shallow checkout.crab-readandcrab-remote-git, no default features,-D warnings: passed.433bba8e553, minimal NFS/SIMD/pathmatch features: passed. Binary SHA-2561571029a817d09c53ae32e3c899651886c9b2545eb0b33675fd5ce339f7d4010.684d08749e30eb7ad504b39a18d326d44f711dfcf2beb9fc727d27c39d9818fd.missing-pack-fixture-object-foundexpects standalone.pack/.idxkeys, but the current v2 format embeds both inside a capsule. Selector, deepen/unshallow and raw-SHA checks passed before that failure. A separate fixture follow-up must qualify current physical faults; this is not a green full-smoke claim.Review evidence
read_batch->handle_option-> normalizedFetchOptions; sharedplan_with_operationcrab-readowns selector enforcement beforeenqueue_children; remote Git operation finalization closes locator sessions on errorsIs this the best fix? Keep Git's date grammar at its adapter boundary and one selection rule in the shared planner. A helper-only empty-selection check would leave protocol-v2 and HTTP behavior inconsistent; accepting either success or a generic failure in the smoke would hide the reproduced bug.
Git's primary source confirms that fetch-pack and
rev-parse --sinceboth use approxidate: fetch-pack, rev-parse. Transport helper C-quotes option strings before sending them.The broader initiative remains incomplete: final integrated 10 GiB pattern/order/failure qualification, bounded history/ref opening, lifecycle/migration, fuller blame, and representative S3 latency/scaling evidence are separate gates. Two cold captured-index GC regressions were replayed and still fail; their unchanged marking/sweep functions match this branch. They are not fixed by this correction. Parent CI also reports a rusqlite source-policy mismatch against its SQLite WAL runtime upgrade; this correction does not alter that guardrail or dependency versions.