Browse Source

List the top-level directory of a tree

Lucas Stadler 8 years ago
parent
commit
e8fe889763
1 changed files with 19 additions and 2 deletions
  1. 19 2
      quit.go

+ 19 - 2
quit.go

@ -8,7 +8,7 @@ import (
8 8
)
9 9
10 10
func main() {
11
	repo, err := git.OpenRepository(".")
11
	repo, err := git.OpenRepository("/home/lu/t/libgit2")
12 12
	if err != nil {
13 13
		log.Fatal("opening repository: ", err)
14 14
	}
@ -23,5 +23,22 @@ func main() {
23 23
		log.Fatal("resolving HEAD: ", err)
24 24
	}
25 25
26
	fmt.Println(commit)
26
	fmt.Printf("Commit: %s\nAuthor: %s\nDate: %s\n\n%s", commit.TreeId(), commit.Author().Name, commit.Author().When, commit.Message())
27
28
	tree, err := commit.Tree()
29
	if err != nil {
30
		log.Fatal("getting tree: ", err)
31
	}
32
33
	err = tree.Walk(func(name string, entry *git.TreeEntry) int {
34
		obj, err := repo.Lookup(entry.Id)
35
		if err != nil {
36
			log.Fatal("lookup: ", err)
37
		}
38
		fmt.Printf("%s (%s)\n", entry.Name, obj.Type())
39
		return 1
40
	})
41
	if err != nil {
42
		log.Fatal("walking tree: ", err)
43
	}
27 44
}