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

Support for partial clones #5564

Open
ThomasSowders opened this issue Jun 18, 2020 · 6 comments
Open

Support for partial clones #5564

ThomasSowders opened this issue Jun 18, 2020 · 6 comments

Comments

@ThomasSowders
Copy link

Feature request: Add support for cloning and using repositories with the partial clone feature.

@olsen232
Copy link

#5776 has been closed since it is superceded by #5993 (and follow-ups)

@olsen232
Copy link

olsen232 commented Aug 18, 2021

My current plan -

  1. New error code EMISSING for when objects are referenced by the ODB, but missing from the ODB. New GIT_EMISSING error #5993
  2. Detect when packfiles are promisor packfiles - Implements .promisor packfile detection #5996
  3. New error code EPROMISED - return it when an EMISSING occurs in a promisor-packfile (not yet done)

This will make it easier to work with partial clones, which is my focus right now (as opposed to creating partial clones)

@olsen232
Copy link

@ethomson just looking at recent commits, it seems like you are the best at making things happen in libgit2 - can you comment on if this is a reasonable plan, and maybe even find me a reviewer with the necessary permissions?

@ethomson
Copy link
Member

@ethomson just looking at recent commits, it seems like you are the best at making things happen in libgit2 - can you comment on if this is a reasonable plan, and maybe even find me a reviewer with the necessary permissions?

👋 Hey @olsen232, sorry for the delay in getting back to you. This seems reasonable to me. I need to do a bit more research on partial clones but overall, I think that this seems like the right direction.

@erikmchut
Copy link

@olsen232 are you still working on some of the prerequisites for partial clones?

@olsen232
Copy link

olsen232 commented May 1, 2022

Hi @erikmchut and @ethomson

am I still working on it? Not really - I have a fork of libgit2 that seems to do what I want it to for now. I think Edward got a bit put off by the ambiguity of the problem, or git's implementation, or of my approach - the way it works in Git means that asking "is object 30f94c... missing but promised?" is unanswerable in a reasonable amount of time in the general case, but asking "is object 30f94c at path foo/bar/baz missing but promised" is answerable. This kinda messes up the existing error codes paradigm a bit and nothing ever got merged to libgit2.

The PR that got stuck is here: #5993

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

No branches or pull requests

4 participants