Skip to content
This repository has been archived by the owner on Sep 4, 2024. It is now read-only.

Switch to using libgit2sharp instead of msysgit #401

Closed
davidebbo opened this issue Feb 16, 2013 · 7 comments
Closed

Switch to using libgit2sharp instead of msysgit #401

davidebbo opened this issue Feb 16, 2013 · 7 comments
Labels
Milestone

Comments

@davidebbo
Copy link
Member

Currently, we do all our git operations by just launching msysgit git.exe, which is inefficient. We should attempt to switch to using libgit2sharp (https://github.com/libgit2/libgit2sharp).

It doesn't have to be an all or nothing deal, as we can incrementally switch over a subset of operations.

In the early days, we tried to do that but it just wasn't ready for prime time. Now both Github for Windows and the new Visual Studio git pluggin uses it, so I expect it to be in pretty good shape.

@davidebbo
Copy link
Member Author

One possible downside that should be pointed out is that if there are any resource leaks in libgit2sharp, this will keep adding up in the Kudu process. While with the git exe, leaks are irrelevant since the process is short lived.

@nulltoken
Copy link
Contributor

That's very true. Some things though:

  • The whole libgit2 CI process is ran through Valgrind to detect memory leaks.
  • All of the C handles that are supposed to be explicitly freed by the managed code are wrapped by SafeHandles.
  • Warning messages are being issued during the test runs when a SafeHandle hasn't been explicitly disposed (and dealt with by the garbage collector).

@davidebbo
Copy link
Member Author

Ok, good to hear that there are lots of checks in place to catch these issues!

@HenrikFrystykNielsen
Copy link
Contributor

It would be nice indeed to switch to libgit2 where possible instead of spawning processes. My impression is that it is in good shape these days.

@davidebbo
Copy link
Member Author

Yes, we want to get there as some point. One limitation I just learned about is that it doesn't support ssh, which we use in our Continuous Deployment scenarios to fetch from Github/Bitbucket.

@HenrikFrystykNielsen
Copy link
Contributor

yes, I just noticed that too. There is a work item on SSH and some work on a pull request but I don't know the exact status: libgit2/libgit2sharp#255

@jvano
Copy link
Member

jvano commented Apr 29, 2024

Hi

Kudu will continue to run in Azure App Service. However, this repo will no longer be maintained.
If the problem persists and is related to running on Azure App Service, please open a support incident in Azure:
https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request

This way we can better track and assist you on this case

Thanks,

Joaquin Vano
Azure App Service

@jvano jvano closed this as completed Apr 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants