Skip to content

Expose a safe streamed dry-run prune inspection #6

Description

@flyingrobots

Outcome

Callers can inspect which loose unreachable Git objects are past a supplied expiry cutoff without admitting any destructive prune command.

Scope

  • Add a first-class streamed plumbing operation that always invokes git prune --dry-run --verbose --no-progress --expire=<time>.
  • Validate the expiry argument before process execution.
  • Keep unrestricted git prune rejected by the generic command surface.
  • Preserve bounded residency through GitStream.
  • Cover allowed dry-run execution, output streaming, malformed expiry rejection, and destructive-form rejection.

Proof

  • Multi-runtime unit tests.
  • Integration test against a synthetic repository proving the object remains after inspection.
  • No API path can omit --dry-run.

Dependency

Blocks git-stunts/git-cas#49 and git-stunts/git-cas#55.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions