From 010791e82809c068a6a70a103d96596450eefc42 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 15 Feb 2025 05:34:12 -0600 Subject: actually use the damn information I already put in a protobuf --- gitTag.common.go | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) (limited to 'gitTag.common.go') diff --git a/gitTag.common.go b/gitTag.common.go index 64cef8f..a4c7696 100644 --- a/gitTag.common.go +++ b/gitTag.common.go @@ -1,5 +1,12 @@ package gitpb +import ( + "path/filepath" + "strings" + + "go.wit.com/log" +) + func (repo *Repo) DevelHash() string { brname := repo.GetDevelBranchName() refname := "refs/heads/" + brname @@ -13,3 +20,68 @@ func (repo *Repo) DevelHash() string { } return "" } + +func (repo *Repo) IsDevelRemote() bool { + if repo.Tags == nil { + return false + } + + devname := repo.GetDevelBranchName() + refname := "refs/remotes/origin/" + devname + ref := repo.Tags.FindByRefname(refname) + if ref == nil { + log.Info("did not found refname!!!!!!!!", refname) + return false + } + log.Info("found refname!!!!!!!!") + return true +} + +// find a branch namm +// will find "master" or "devel" +// will also find "v0.1.1" +// or will find "patches-from-foo" +// will return *any* match on any git branch because it doesn't +// matter much here yet +// eventually this will be worked out by forge in some future code that hasn't been made yet +func (repo *Repo) IsBranch(findname string) bool { + loop := repo.Tags.All() + for loop.Scan() { + t := loop.Next() + // log.Info("LocalTagExists() tag:", t.Refname) + + tagname := t.Refname + if strings.HasPrefix(tagname, "refs/remotes") { + continue + } + path, filename := filepath.Split(tagname) + log.Log(INFO, "gitpb.IsBranch() tag:", path, filename, "from", repo.GetGoPath()) + if filename == findname { + log.Log(INFO, "gitpb.IsBranch() found tag:", path, filename, "from", repo.GetGoPath()) + return true + } + } + log.Log(INFO, "did not find tag:", findname, "in", repo.GetGoPath()) + return false +} + +func (repo *Repo) IsLocalBranch(findname string) bool { + loop := repo.Tags.All() + for loop.Scan() { + t := loop.Next() + // log.Info("LocalTagExists() tag:", t.Refname) + + tagname := t.Refname + if strings.HasPrefix(tagname, "refs/heads") { + continue + } + path, filename := filepath.Split(tagname) + log.Log(INFO, "gitpb.IsBranch() tag:", path, filename, "from", repo.GetGoPath()) + if filename == findname { + log.Log(INFO, "gitpb.IsBranch() found tag:", path, filename, "from", repo.GetGoPath()) + return true + } + } + log.Log(INFO, "did not find tag:", findname, "in", repo.GetGoPath()) + return false +} -- cgit v1.2.3