Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "io/ioutil"
- "github.com/libgit2/git2go"
- )
- func credentialsCallback(_, _ string, _ git.CredType) (git.ErrorCode, *git.Cred) {
- fmt.Printf("Credentials callback called")
- ret, cred := git.NewCredSshKeyFromAgent("marcinw")
- return git.ErrorCode(ret), &cred
- }
- func main() {
- path, err := ioutil.TempDir("", "codebeat")
- if err != nil {
- panic(err)
- }
- repo, err := git.InitRepository(path, false /* is bare? */)
- if err != nil {
- panic(err)
- }
- defer repo.Free()
- fmt.Printf("Repo initialized in %q\n", path)
- remote, err := repo.Remotes.CreateAnonymous(
- "git@github.com:waneck/linux-ios-toolchain.git")
- fmt.Println(remote.Url())
- if err != nil {
- panic(err)
- }
- defer remote.Free()
- err = remote.ConnectFetch(&git.RemoteCallbacks{
- CredentialsCallback: credentialsCallback,
- })
- if err != nil {
- panic(err)
- }
- heads, err := remote.Ls("refs/heads/master")
- if err != nil {
- panic(err)
- }
- fmt.Printf("Remote heads: %#v\n", heads)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement