Skip to content
New issue

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

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

Already on GitHub? # 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.

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

No branches or pull requests

2 participants