Skip to content

feat: add plumbing commands (for-each-ref, hash-object, symbolic-ref, update-ref)#73

Merged
joshrotenberg merged 1 commit into
mainfrom
feat/plumbing-commands
Apr 9, 2026
Merged

feat: add plumbing commands (for-each-ref, hash-object, symbolic-ref, update-ref)#73
joshrotenberg merged 1 commit into
mainfrom
feat/plumbing-commands

Conversation

@joshrotenberg
Copy link
Copy Markdown
Owner

Summary

  • Add git for-each-ref with format, sort, count, pattern, contains, merged, no-merged, points-at
  • Add git hash-object with file-based hashing, write-to-db, type specification
  • Add git symbolic-ref with read/write/delete/short modes
  • Add git update-ref with CAS (old-value checking), delete, reflog message, no-deref

These plumbing commands are important for building tooling on top of this library. 41 new tests.

Closes #62

Test plan

  • mix format --check-formatted
  • mix compile --warnings-as-errors
  • mix credo --strict
  • mix test (41 new tests pass)

@joshrotenberg joshrotenberg force-pushed the feat/plumbing-commands branch from 84be01f to a234e76 Compare April 8, 2026 20:14
@joshrotenberg joshrotenberg force-pushed the feat/plumbing-commands branch from a234e76 to fe5ae12 Compare April 9, 2026 18:41
@joshrotenberg joshrotenberg merged commit 415cd6f into main Apr 9, 2026
2 checks passed
@joshrotenberg joshrotenberg deleted the feat/plumbing-commands branch April 9, 2026 18:44
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.

feat: add plumbing commands (for-each-ref, hash-object, symbolic-ref, update-ref)

1 participant