ソースを参照

Adapt to the recent go-git.v4

Fixes #2
Vadim Markovtsev 8 年 前
コミット
d0f46f5675
1 ファイル変更18 行追加14 行削除
  1. 18 14
      analyser.go

+ 18 - 14
analyser.go

@@ -12,8 +12,8 @@ import (
 
 	"github.com/sergi/go-diff/diffmatchpatch"
 	"gopkg.in/src-d/go-git.v4"
-	"gopkg.in/src-d/go-git.v4/plumbing/difftree"
 	"gopkg.in/src-d/go-git.v4/plumbing/object"
+	"gopkg.in/src-d/go-git.v4/utils/merkletrie"
 )
 
 type Analyser struct {
@@ -58,8 +58,8 @@ func str(file *object.Blob) string {
 }
 
 func (analyser *Analyser) handleInsertion(
-	change *difftree.Change, day int, status map[int]int64, files map[string]*File) {
-	blob, err := analyser.Repository.Blob(change.To.TreeEntry.Hash)
+	change *object.Change, day int, status map[int]int64, files map[string]*File) {
+	blob, err := analyser.Repository.BlobObject(change.To.TreeEntry.Hash)
 	if err != nil {
 		panic(err)
 	}
@@ -77,8 +77,8 @@ func (analyser *Analyser) handleInsertion(
 }
 
 func (analyser *Analyser) handleDeletion(
-	change *difftree.Change, day int, status map[int]int64, files map[string]*File) {
-	blob, err := analyser.Repository.Blob(change.From.TreeEntry.Hash)
+	change *object.Change, day int, status map[int]int64, files map[string]*File) {
+	blob, err := analyser.Repository.BlobObject(change.From.TreeEntry.Hash)
 	if err != nil {
 		panic(err)
 	}
@@ -93,12 +93,12 @@ func (analyser *Analyser) handleDeletion(
 }
 
 func (analyser *Analyser) handleModification(
-	change *difftree.Change, day int, status map[int]int64, files map[string]*File) {
-	blob_from, err := analyser.Repository.Blob(change.From.TreeEntry.Hash)
+	change *object.Change, day int, status map[int]int64, files map[string]*File) {
+	blob_from, err := analyser.Repository.BlobObject(change.From.TreeEntry.Hash)
 	if err != nil {
 		panic(err)
 	}
-	blob_to, err := analyser.Repository.Blob(change.To.TreeEntry.Hash)
+	blob_to, err := analyser.Repository.BlobObject(change.To.TreeEntry.Hash)
 	if err != nil {
 		panic(err)
 	}
@@ -206,7 +206,7 @@ func (analyser *Analyser) Commits() []*object.Commit {
 	if err != nil {
 		panic(err)
 	}
-	commit, err := repository.Commit(head.Hash())
+	commit, err := repository.CommitObject(head.Hash())
 	if err != nil {
 		panic(err)
 	}
@@ -307,17 +307,21 @@ func (analyser *Analyser) Analyse(commits []*object.Commit) [][]int64 {
 					statuses = append(statuses, gs)
 				}
 			}
-			tree_diff, err := difftree.DiffTree(prev_tree, tree)
+			tree_diff, err := object.DiffTree(prev_tree, tree)
 			if err != nil {
 				panic(err)
 			}
 			for _, change := range tree_diff {
-				switch change.Action {
-				case difftree.Insert:
+				action, err := change.Action()
+				if err != nil {
+					panic(err)
+				}
+				switch action {
+				case merkletrie.Insert:
 					analyser.handleInsertion(change, day, status, files)
-				case difftree.Delete:
+				case merkletrie.Delete:
 					analyser.handleDeletion(change, day, status, files)
-				case difftree.Modify:
+				case merkletrie.Modify:
 					func() {
 						defer func() {
 							r := recover()