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

Explore the possibility of using libgit2 #138

Open
owenthereal opened this issue Dec 28, 2013 · 4 comments
Open

Explore the possibility of using libgit2 #138

owenthereal opened this issue Dec 28, 2013 · 4 comments

Comments

@owenthereal
Copy link
Owner

I'm starting to convert the git layer to read directly from files in the .git dir instead of shelling out to git, e.g., https://github.com/jingweno/gh/blob/pull_in_cucumber_tests/git/git.go#L87-L89. This'll improve performance by reducing the number of shell out calls.

I know libgit2 is trying to do something similar and it'd be interesting to see if we could make use of https://github.com/libgit2/git2go.

This task is not in high priority.

/cc @calavera @technoweenie

@technoweenie
Copy link
Collaborator

Keep in mind that this requires CGO, and would make easy cross compilation impossible.

@owenthereal
Copy link
Owner Author

@technoweenie Good point! But gh is already compiled against different platforms using cgo due to a limitation of cross compilation I found earlier on accessing system root certificates. I still use a cross compilation tool to build for the current platforms for i386 and amd64 though.

As a side note, I think we should set up gh build on ec2 instead of just my machine.

@technoweenie
Copy link
Collaborator

Ah yeah, I was aware of that issue for the mac. If we had an ec2 server, we'd still need a mac to build those binaries with CGO, right?

@owenthereal
Copy link
Owner Author

Yes, you're right. For now, I think we're good since I have everything set up on my computer. I created #139 to further discuss it. Travis seems to support OSX VMs but I never try it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants