summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-29 20:01:07 -0600
committerJeff Carr <[email protected]>2025-01-29 20:01:07 -0600
commitb57144e6bfe8a6b63d2d2f8ffb47af04a926ae8b (patch)
tree4f9823561ff5a44616e51cdd63f2d077149f7918
parent19fb3a29fb6c5f157d78696c211d159d3748911a (diff)
some useful helper functions
-rw-r--r--branches.go15
-rw-r--r--currentVersions.go24
-rw-r--r--goDep.parseGoSum.go3
-rw-r--r--shell.go11
4 files changed, 41 insertions, 12 deletions
diff --git a/branches.go b/branches.go
index ec86c20..1c923dd 100644
--- a/branches.go
+++ b/branches.go
@@ -123,3 +123,18 @@ func (repo *Repo) GetHashName(h string) (string, error) {
}
return r.Stdout[0], nil
}
+
+// lookup a hash from a tag with 'git rev-list'
+func (repo *Repo) GetTagHash(t string) string {
+ // git rev-list -n 1 v0.0.66
+ cmd := []string{"git", "rev-list", "-n", "1", t}
+ result, _ := repo.RunStrictNew(cmd)
+ // log.Info("getLastTagVersion()", result.Stdout)
+
+ if len(result.Stdout) == 0 {
+ // log.Log(WARN, "no gitpb.LastTag() repo is broken. ignore this.", repo.GetGoPath())
+ return ""
+ }
+
+ return result.Stdout[0]
+}
diff --git a/currentVersions.go b/currentVersions.go
index 7f64335..0f09cdf 100644
--- a/currentVersions.go
+++ b/currentVersions.go
@@ -294,23 +294,25 @@ func (repo *Repo) IncrementTargetMinor() {
}
// changes the target revision. v0.1.3 becomes v0.1.4
-func (repo *Repo) IncrementTargetRevision() bool {
+func (repo *Repo) IncrementTargetRevision() {
// first try just going from the last tag
repo.incrementRevision(repo.GetLastTag())
if !isNewerVersion(repo.GetMasterVersion(), repo.GetTargetVersion()) {
- log.Printf("master version() %s is higher than target version %s\n", repo.GetMasterVersion(), repo.GetTargetVersion())
+ // log.Printf("tag error. master version() %s was higher than target version %s\n", repo.GetMasterVersion(), repo.GetTargetVersion())
repo.incrementRevision(repo.GetMasterVersion())
}
- if !isNewerVersion(repo.GetLastTag(), repo.GetTargetVersion()) {
- log.Printf("last tag versn() %s is higher than target version %s\n", repo.GetLastTag(), repo.GetTargetVersion())
- return false
- }
- if !isNewerVersion(repo.GetMasterVersion(), repo.GetTargetVersion()) {
- log.Printf("master version() %s is higher than target version %s\n", repo.GetMasterVersion(), repo.GetTargetVersion())
- return false
- }
- return true
+ /*
+ if !isNewerVersion(repo.GetLastTag(), repo.GetTargetVersion()) {
+ log.Printf("last tag versn() %s is higher than target version %s\n", repo.GetLastTag(), repo.GetTargetVersion())
+ return false
+ }
+ if !isNewerVersion(repo.GetMasterVersion(), repo.GetTargetVersion()) {
+ log.Printf("master version() %s is higher than target version %s\n", repo.GetMasterVersion(), repo.GetTargetVersion())
+ return false
+ }
+ return true
+ */
}
func (repo *Repo) incrementRevision(lasttag string) {
diff --git a/goDep.parseGoSum.go b/goDep.parseGoSum.go
index cfe1deb..0008e9b 100644
--- a/goDep.parseGoSum.go
+++ b/goDep.parseGoSum.go
@@ -21,7 +21,8 @@ func (repo *Repo) ParseGoSum() bool {
// that means, there is not a go.sum file
// because the package is completely self contained!
if err := repo.setPrimitive(); err != nil {
- // log.Info("gitpb.ParseGoSum()", err)
+ // temporarily enabled this
+ log.Info("gitpb.ParseGoSum()", err)
return false
}
if repo.GetGoPrimitive() {
diff --git a/shell.go b/shell.go
index d14960d..c8131f6 100644
--- a/shell.go
+++ b/shell.go
@@ -193,3 +193,14 @@ func (repo *Repo) ConstructGitDiffLog(branch1, branch2 string) []string {
cmd = append(cmd, branch2)
return cmd
}
+
+// count all objects only in branch1
+func (repo *Repo) CountDiffObjects(branch1, branch2 string) int {
+ cmd := repo.ConstructGitDiffLog(branch1, branch2)
+ r, err := repo.RunVerboseOnError(cmd)
+ if err != nil {
+ return -1
+ }
+ // log.Info("countDiffObjects()", cmd, len(r.Stdout), strings.Join(r.Stdout, " "))
+ return len(r.Stdout)
+}