summaryrefslogtreecommitdiff
path: root/gitTag.common.go
diff options
context:
space:
mode:
Diffstat (limited to 'gitTag.common.go')
-rw-r--r--gitTag.common.go72
1 files changed, 72 insertions, 0 deletions
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
+}