Nessuna descrizione

quit.go 881B

    package main import ( "fmt" "log" "github.com/libgit2/git2go" ) func main() { repo, err := git.OpenRepository("/home/lu/t/libgit2") if err != nil { log.Fatal("opening repository: ", err) } head, err := repo.Head() if err != nil { log.Fatal("getting HEAD: ", err) } commit, err := repo.LookupCommit(head.Target()) if err != nil { log.Fatal("resolving HEAD: ", err) } fmt.Printf("Commit: %s\nAuthor: %s\nDate: %s\n\n%s", commit.TreeId(), commit.Author().Name, commit.Author().When, commit.Message()) tree, err := commit.Tree() if err != nil { log.Fatal("getting tree: ", err) } err = tree.Walk(func(name string, entry *git.TreeEntry) int { obj, err := repo.Lookup(entry.Id) if err != nil { log.Fatal("lookup: ", err) } fmt.Printf("%s (%s)\n", entry.Name, obj.Type()) return 1 }) if err != nil { log.Fatal("walking tree: ", err) } }