Ryan McGuire
c78c41f567
All checks were successful
Build and Publish / release (push) Successful in 1m10s
38 lines
1021 B
Go
38 lines
1021 B
Go
package projects
|
|
|
|
import "github.com/pterm/pterm"
|
|
|
|
func (p *Project) GetGitInfo() string {
|
|
repo := p.GetRepo()
|
|
if repo == nil {
|
|
return "No Repo"
|
|
}
|
|
|
|
var str string
|
|
str += "\n" + pterm.LightRed("Project: ") + pterm.Bold.Sprint(p.Name) + "\n"
|
|
|
|
head, _ := repo.Head()
|
|
branch := head.Name().String()[11:]
|
|
b, _ := repo.Branch(branch)
|
|
if b != nil {
|
|
str += pterm.LightCyan("Branch: ") + pterm.Bold.Sprint(b.Name) + "\n"
|
|
} else {
|
|
str += pterm.LightCyan("NEW Branch: ") + pterm.Bold.Sprint(branch) + "\n"
|
|
}
|
|
|
|
commit, _ := repo.CommitObject(head.Hash())
|
|
str += "\n" + commit.String()
|
|
|
|
str += pterm.LightMagenta("Git: ") + pterm.Bold.Sprint(p.HTTPURLToRepo) + "\n"
|
|
|
|
if remotes, _ := repo.Remotes(); len(remotes) > 0 {
|
|
str += pterm.LightBlue("Remote: ") + pterm.Bold.Sprint(remotes[0].Config().URLs[0])
|
|
}
|
|
|
|
return pterm.DefaultBox.
|
|
WithLeftPadding(5).WithRightPadding(5).
|
|
WithBoxStyle(&pterm.Style{pterm.FgLightBlue}).
|
|
WithTitle(pterm.Bold.Sprint(pterm.LightGreen("Project Git Status"))).
|
|
Sprint(str)
|
|
}
|