Skip to content

deps: gh commit-SHA revisions (GhRepository#at) #153

Description

@JPDuchesne

Context

#142 split the repository contract into find(id) (enumerate the discrete published universe) and at(id, revision) (purely lift an address in the continuous space between published versions). git and xcode implement at; gh deliberately does not — no consumer pins a gh dep at a commit SHA today, and we don't ship dead code.

Ask

When a consumer needs it, add:

  • GhRepository#at(id, revision): pure SHA lift, mirroring GitRepository#at (the 40-hex SHA is the version and the integrity statement; verified at install).
  • DSL spelling: gh ..., sha: "<40-hex>" sorting into Declaration#revision with the same strict 40-hex validation cmake commit: has (InvalidRevisionError).
  • Install-side: GhIntegration fetching a tarball/checkout at that SHA (no release assets exist for an unpublished commit, so the asset-glob path doesn't apply — decide whether source checkout is the only materialization).

Notes

A SHA revision forgoes resolution by definition (docs/deps-architecture.md, "Discrete and continuous"): no scheme, no selection, conflict rejection compares revisions per (integration, name).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions