Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Odb type #940

Merged
merged 1 commit into from
Sep 15, 2019
Merged

Introduce Odb type #940

merged 1 commit into from
Sep 15, 2019

Conversation

ddevault
Copy link
Contributor

@ddevault ddevault commented Sep 14, 2019

Opening this now to start gathering feedback early, since I have little experience with Python's C API. The goal is to eventually support custom ODB backends written in Python. The steps to get here are roughly:

  1. Add an Odb type and pull the odb out of Repository
  2. Extend Odb with the rest of libgit2's odb API
  3. Add a subclassable OdbBackend which maps to the C interface for custom backends

So far only step 1 is complete. step 1 and some of step 2 are completed.

@ddevault
Copy link
Contributor Author

Not sure if that Windows failure is actually me.

@jdavid
Copy link
Member

jdavid commented Sep 15, 2019

Looks good, good job!

Don't worry about the AppVeyor failure, it's broken for another reason.

Could you please just add unit tests for the new features introduced in commit cdc7710 ?

src/object.c Outdated Show resolved Hide resolved
This refactors the Repository type's ODB accessors to a dedicated Odb
type and adds a handful of features from <git2/odb.h>.
@ddevault
Copy link
Contributor Author

Latest patch fixes indent and adds tests.

@jdavid jdavid merged commit 1b6d926 into libgit2:master Sep 15, 2019
@ddevault ddevault deleted the odb branch September 15, 2019 18:55
@ddevault
Copy link
Contributor Author

ddevault commented Sep 15, 2019

Thanks!

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.

None yet

2 participants