Skip to content

Commit

Permalink
_examples: Add git clone using ssh-agent
Browse files Browse the repository at this point in the history
Signed-off-by: Paulo Gomes <paulo.gomes@suse.com>
  • Loading branch information
pjbgf committed Jan 13, 2024
1 parent a6e934f commit 6ad207b
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
File renamed without changes.
37 changes: 37 additions & 0 deletions _examples/clone/auth/ssh/ssh_agent/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package main

import (
"fmt"
"os"

git "github.com/go-git/go-git/v5"
. "github.com/go-git/go-git/v5/_examples"
"github.com/go-git/go-git/v5/plumbing/transport/ssh"
)

func main() {
CheckArgs("<url>", "<directory>")
url, directory := os.Args[1], os.Args[2]

authMethod, err := ssh.NewSSHAgentAuth("git")
CheckIfError(err)

// Clone the given repository to the given directory
Info("git clone %s ", url)

r, err := git.PlainClone(directory, false, &git.CloneOptions{
Auth: authMethod,
URL: url,
Progress: os.Stdout,
})
CheckIfError(err)

// ... retrieving the branch being pointed by HEAD
ref, err := r.Head()
CheckIfError(err)
// ... retrieving the commit object
commit, err := r.CommitObject(ref.Hash())
CheckIfError(err)

fmt.Println(commit)
}

0 comments on commit 6ad207b

Please sign in to comment.