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

Remove LibGit2 #9

Closed
derrickstolee opened this issue Aug 8, 2019 · 6 comments · Fixed by #153
Closed

Remove LibGit2 #9

derrickstolee opened this issue Aug 8, 2019 · 6 comments · Fixed by #153
Assignees
Labels
Milestone

Comments

@derrickstolee
Copy link
Contributor

Can we get rid of LibGit2 entirely? Here are some tradeoffs:

  • We currently track which downloaded objects are blobs or not. Dropping this stat would save time, and the batched read-object hook (Create a transport layer to use the gvfs protocol #7) would make that less important.
  • CommitAndRootTreeExists() exists for a VFS for Git reason: to see if we need to prefetch the folders at a commit on clone time so we can generate an index before projecting. This isn't needed any more.
  • the LooseObjectsStep checks for corrupt loose objects. We'll have fewer objects with the batched read-object, and we could teach git pack-objects to clear corrupt objects, perhaps.

Outside of that last one, many of these changes are super small and don't have a huge impact on the full story.

@derrickstolee derrickstolee self-assigned this Aug 8, 2019
@derrickstolee
Copy link
Contributor Author

The prefetch pipeline uses LibGit2. We'll want that to stay online until we have the batched read-object hook available. #7.

@derrickstolee derrickstolee removed their assignment Aug 8, 2019
@github-actions
Copy link

Labeling this issue as stale. There has been no activity for 30 days. Remove stale label or comment or this issue will be closed in 7 days.

@github-actions github-actions bot added the no-activity Stale issue or PR that will be automatically closed soon. label Aug 16, 2019
@derrickstolee derrickstolee removed the no-activity Stale issue or PR that will be automatically closed soon. label Aug 16, 2019
@github-actions
Copy link

Labeling this issue as stale. There has been no activity for 30 days. Remove stale label or comment or this issue will be closed in 7 days.

@github-actions github-actions bot added the no-activity Stale issue or PR that will be automatically closed soon. label Aug 17, 2019
@jrbriggs jrbriggs removed the no-activity Stale issue or PR that will be automatically closed soon. label Aug 17, 2019
@github-actions
Copy link

Labeling this issue as stale. There has been no activity for 30 days. Remove stale label or comment or this issue will be closed in 7 days.

@github-actions github-actions bot added the no-activity Stale issue or PR that will be automatically closed soon. label Aug 19, 2019
@jrbriggs jrbriggs removed the no-activity Stale issue or PR that will be automatically closed soon. label Aug 19, 2019
@derrickstolee
Copy link
Contributor Author

I think this task is doable after #7 is complete.

@github-actions
Copy link

Labeling this issue as stale. There has been no activity for 30 days. Remove stale label or comment or this issue will be closed in 7 days.

@github-actions github-actions bot added the no-activity Stale issue or PR that will be automatically closed soon. label Sep 22, 2019
@wilbaker wilbaker removed the no-activity Stale issue or PR that will be automatically closed soon. label Sep 23, 2019
@derrickstolee derrickstolee changed the title Consider removing LibGit2 Remove LibGit2 Oct 7, 2019
@derrickstolee derrickstolee self-assigned this Oct 7, 2019
@derrickstolee derrickstolee added this to the MVP milestone Oct 7, 2019
derrickstolee added a commit that referenced this issue Oct 7, 2019
Resolves #9.

Note that this removes our recovery from corrupt loose objects in the `LooseObjectsStep`. I have ideas for how to do that logic in `git pack-objects` instead #151. We may also not see corrupt objects as often now that we are using the gvfs-helper instead of the C# layer for downloading loose objects.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants