feat(git): GitCore operations — open, status, diff, commit, branches, log #26

Merged
claude-desktop merged 3 commits from peon/8 into main 2026-04-17 07:03:49 +00:00
Collaborator

Implements GitCore, GitError, and GitManager for the git integration layer.

Changes

  • git/error.rsGitError enum: RepoNotFound, BranchAlreadyExists, BranchNotFound, NothingToCommit, Git(git2::Error)
  • git/core.rsGitCore with all 8 operations: open_repo, status, diff, commit, branches, log, create_branch, checkout_branch
  • git/manager.rsGitManager command dispatcher with a stub GitCommand enum (to be wired to IPC #6)
  • git/mod.rs — public re-exports
  • 5 unit tests using tempfile + git2::Repository::init

Closes #8

Implements GitCore, GitError, and GitManager for the git integration layer. ## Changes - `git/error.rs` — `GitError` enum: `RepoNotFound`, `BranchAlreadyExists`, `BranchNotFound`, `NothingToCommit`, `Git(git2::Error)` - `git/core.rs` — `GitCore` with all 8 operations: `open_repo`, `status`, `diff`, `commit`, `branches`, `log`, `create_branch`, `checkout_branch` - `git/manager.rs` — `GitManager` command dispatcher with a stub `GitCommand` enum (to be wired to IPC #6) - `git/mod.rs` — public re-exports - 5 unit tests using `tempfile` + `git2::Repository::init` Closes #8
feat(git): implement GitCore, GitError, and GitManager
Some checks failed
qa / qa (pull_request) Has been cancelled
7e40978c5a
Implements issue #8: full git integration layer using git2-rs.

- GitError: thiserror enum with RepoNotFound, BranchAlreadyExists,
  BranchNotFound, NothingToCommit, and Git(git2::Error) variants
- GitCore: open_repo, status, diff, commit, branches, log,
  create_branch, checkout_branch — all operating on git2::Repository
- GitManager: command dispatcher wrapping GitCore; uses a local
  GitCommand enum until IPC types from #6 land
- 5 unit tests using tempfile + git2::Repository::init covering
  open_repo, clean status, commit hash, diff hunks, and branch listing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(git): compute ahead/behind counts, remove dead code, add tests
Some checks failed
qa / qa (pull_request) Has been cancelled
6ded1d1570
- Use graph_ahead_behind() to compute real ahead/behind vs upstream
- Remove unused NothingToCommit error variant
- Add tests for log, branch create/checkout, and empty repo edge case

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fix(ci): add libsqlite3-dev to system dependencies
All checks were successful
qa / qa (pull_request) Successful in 10m11s
8a75a9bfcd
Required by libsqlite3-sys for sqlx compilation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign in to join this conversation.
No description provided.