Skip to content

feat: CLI backend in addition to libgit2#191

Draft
rtimush wants to merge 6 commits into
masterfrom
binary-backend
Draft

feat: CLI backend in addition to libgit2#191
rtimush wants to merge 6 commits into
masterfrom
binary-backend

Conversation

@rtimush

@rtimush rtimush commented Feb 20, 2026

Copy link
Copy Markdown
Collaborator

#40.

The two main benefits are:

  1. Better authentication support (libgit2 is very limited)
  2. Better performance (in a very non-scientific test I got 45s vs 30s on a relatively big project).

@rtimush rtimush force-pushed the binary-backend branch 2 times, most recently from 7c20d47 to c62f3d0 Compare February 20, 2026 21:49
@github-actions

This comment was marked as outdated.

@rtimush rtimush force-pushed the binary-backend branch 2 times, most recently from f37037b to e6bd3c5 Compare June 2, 2026 10:07
@rtimush rtimush changed the title Binary backend in addition to libgit2 CLI backend in addition to libgit2 Jun 2, 2026
@rtimush rtimush force-pushed the binary-backend branch 4 times, most recently from c1fc87b to 87767b5 Compare June 2, 2026 12:18
@rtimush rtimush changed the title CLI backend in addition to libgit2 feat: CLI backend in addition to libgit2 Jun 2, 2026
@rtimush rtimush force-pushed the binary-backend branch 3 times, most recently from 50d5c12 to 3f38574 Compare June 5, 2026 15:55
@rtimush rtimush force-pushed the binary-backend branch 2 times, most recently from ee1849e to 5d848b5 Compare June 19, 2026 16:47
@pkg-pr-new

pkg-pr-new Bot commented Jun 19, 2026

Copy link
Copy Markdown
@coralogix/protofetch

npm i https://pkg.pr.new/@coralogix/protofetch@191

@coralogix/protofetch-darwin-arm64

npm i https://pkg.pr.new/@coralogix/protofetch-darwin-arm64@191

@coralogix/protofetch-darwin-x64

npm i https://pkg.pr.new/@coralogix/protofetch-darwin-x64@191

@coralogix/protofetch-linux-arm64

npm i https://pkg.pr.new/@coralogix/protofetch-linux-arm64@191

@coralogix/protofetch-linux-x64

npm i https://pkg.pr.new/@coralogix/protofetch-linux-x64@191

@coralogix/protofetch-win32-x64

npm i https://pkg.pr.new/@coralogix/protofetch-win32-x64@191

commit: 482b5ae

rtimush added 4 commits June 19, 2026 19:01
Introduce a GitBackend trait that abstracts all low-level git operations.
Add error types for backend operations and a backend-agnostic GitOid type.
Implement GitBackend trait using the git2 (libgit2) crate.
Moves existing git2-based functionality into the new backend abstraction.
Update ProtofetchGitCache to use the GitBackend trait instead of directly
using git2. This removes direct git2 operations from the cache layer.

Refactor repository to use GitBackend abstraction

Update ProtoGitRepository to use the GitBackend trait instead of directly
using git2. This completes the migration to backend abstraction.
Add git_backend field to ProtofetchConfig and support loading from
config file or PROTOFETCH_GIT_BACKEND environment variable.
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.

1 participant