package main import ( "flag" "fmt" "github.com/charmbracelet/log" "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing/object" ) func displayCommitLog(c *object.Commit) { style := getStyle() fmt.Printf("%s %s", style.date.Render(c.Author.When.Format(DATE_FORMAT)), c.Message) } func main() { url := flag.String("url", "", "URL of the targeted git repository with logs") path := flag.String("path", ".", "Path for the local git clone") flag.Parse() log.Debug("Use " + *url + " cloned in " + *path) repo, err := getRepo(*url, *path) CheckIfError(err) ref, err := repo.Head() CheckIfError(err) cIter, err := repo.Log(&git.LogOptions{From: ref.Hash()}) CheckIfError(err) err = cIter.ForEach(func(c *object.Commit) error { displayCommitLog(c) return nil }) CheckIfError(err) }