libgit2 / libgit2/libgit2sharp
Consider providing compaction support in the Backend interface
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 3.5k
- Forks
- 925
- PR merge metrics
- No merged PRs in 30d
Description
I'm implementing my own backend, and may want to add compaction support sometime in the future. IMO this needs to be an opt-in feature, so when a user chooses to compaction will take place. I'm also pretty sure a background thread running all the time doing this is not the way to go.
Can OdbBackend have a DoCompaction method that if implemented will allow it to perform compaction on demand? (or similar)
This will also probably require libgit2sharp to implement and expose the various helpers for performing binary diffs and object concats.
Related / trigger: https://github.com/synhershko/libgit2sharp.Elasticsearch/issues/2
/cc @nulltoken @carlosmn
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the OdbBackend interface and the related libgit2sharp.Elasticsearch issue to understand the proposed opt-in compaction API. Check the libgit2sharp support needed for binary diffs and object concatenation; done means agreeing on an interface design and exposing the required helpers without background compaction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, git
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100