| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | package testimport (	"io"	"os"	git "gopkg.in/src-d/go-git.v4"	"gopkg.in/src-d/go-git.v4/plumbing"	"gopkg.in/src-d/go-git.v4/plumbing/object"	"gopkg.in/src-d/go-git.v4/storage/memory")// Repository is a boilerplate sample repository (Hercules itself).var Repository *git.Repository// FakeChangeForName creates an artificial Git Change from a file name and two arbitrary hashes.func FakeChangeForName(name string, hashFrom string, hashTo string) *object.Change {	return &object.Change{		From: object.ChangeEntry{Name: name, TreeEntry: object.TreeEntry{			Name: name, Hash: plumbing.NewHash(hashFrom),		}},		To: object.ChangeEntry{Name: name, TreeEntry: object.TreeEntry{			Name: name, Hash: plumbing.NewHash(hashTo),		}},	}}func init() {	cwd, err := os.Getwd()	if err == nil {		Repository, err = git.PlainOpen(cwd)		if err == nil {			iter, err := Repository.CommitObjects()			if err == nil {				commits := -1				for ; err != io.EOF; _, err = iter.Next() {					if err != nil {						panic(err)					}					commits++					if commits >= 100 {						return					}				}			}		}	}	Repository, _ = git.Clone(memory.NewStorage(), nil, &git.CloneOptions{		URL: "https://github.com/src-d/hercules",	})}
 |