Skip to content

feat: add higher-level modules (Changes, Tags, Remotes, Stashes, Patch, Conflicts)#75

Merged
joshrotenberg merged 1 commit into
mainfrom
feat/higher-level-modules
Apr 9, 2026
Merged

feat: add higher-level modules (Changes, Tags, Remotes, Stashes, Patch, Conflicts)#75
joshrotenberg merged 1 commit into
mainfrom
feat/higher-level-modules

Conversation

@joshrotenberg
Copy link
Copy Markdown
Owner

Summary

Adds 6 higher-level convenience modules following the pattern of existing Git.Branches, Git.History, and Git.Search:

  • Git.Changes -- staged/1, unstaged/1, stats/1 (extends existing uncommitted/1, between/3)
  • Git.Tags -- create/2, list/1, latest/1, sorted/1, delete/2, exists?/2
  • Git.Remotes -- list_detailed/1, add/3, remove/2, set_url/3, prune/2
  • Git.Stashes -- save/2, pop/1, apply/1, list/1, drop/1, clear/1
  • Git.Patch -- create/2, apply/2, apply_mailbox/2, check/2
  • Git.Conflicts -- detect/1, files/1, resolved?/1, abort_merge/1

56 new tests. Full suite: 1097 tests, 0 failures.

Closes #64, closes #65, closes #66, closes #67, closes #68, closes #69

Test plan

  • mix format --check-formatted
  • mix compile --warnings-as-errors
  • mix credo --strict
  • mix test (1097 tests, 0 failures)

…h, Conflicts)

Closes #64, closes #65, closes #66, closes #67, closes #68, closes #69
@joshrotenberg joshrotenberg merged commit f8d5242 into main Apr 9, 2026
2 checks passed
@joshrotenberg joshrotenberg deleted the feat/higher-level-modules branch April 9, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant