summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-07 12:06:42 -0500
committerJeff Carr <[email protected]>2025-09-07 12:06:42 -0500
commit97fe127345c1362803501d74c10d02d999edde5a (patch)
treead406ca89b8d6b04ebff09b9abd7e96aa5b8d10a
parentda649abcebbcc71197d2eb4108535cead12c7004 (diff)
fields for 'forge pull'
-rw-r--r--gitTag.common.go2
-rw-r--r--repo.http.go44
-rw-r--r--repo.proto2
3 files changed, 47 insertions, 1 deletions
diff --git a/gitTag.common.go b/gitTag.common.go
index f10548e..8aa76bf 100644
--- a/gitTag.common.go
+++ b/gitTag.common.go
@@ -7,7 +7,7 @@ import (
"go.wit.com/log"
)
-func (repo *Repo) DevelHash() string {
+func (repo *Repo) ActualDevelHash() string {
brname := repo.GetDevelBranchName()
refname := "refs/heads/" + brname
for tag := range repo.Tags.IterAll() {
diff --git a/repo.http.go b/repo.http.go
new file mode 100644
index 0000000..2260d01
--- /dev/null
+++ b/repo.http.go
@@ -0,0 +1,44 @@
+package gitpb
+
+import (
+ "bytes"
+ "net/http"
+ "net/url"
+ "os"
+ "os/user"
+
+ "go.wit.com/lib/protobuf/httppb"
+ "go.wit.com/log"
+)
+
+func (p *Repos) HttpPost(baseURL string, route string) (*Repos, error) {
+ // if you ever have "http://www.wit.com//" GO will regect the server recieving it.
+ // Even though the linux kernel gets the network payload
+ // also it never gives you an error about that, it just goes away invisably inside GO
+ tmpURL, _ := url.Parse(baseURL) // "http://forge.grid.wit.com:2520")
+ finalURL := tmpURL.JoinPath("/repos/", route)
+
+ data, _ := p.Marshal()
+
+ var err error
+ var req *http.Request
+
+ log.Info("reposs PB HttpPost", finalURL.String())
+ req, err = http.NewRequest(http.MethodPost, finalURL.String(), bytes.NewBuffer(data))
+ if req == nil {
+ return nil, err
+ }
+
+ usr, _ := user.Current()
+ req.Header.Set("author", usr.Username)
+ hostname, _ := os.Hostname()
+ req.Header.Set("hostname", hostname)
+
+ newdata, err := httppb.PostReq(req)
+
+ newpb := NewRepos()
+ err = newpb.Unmarshal(newdata)
+
+ log.Infof("repos PB HttpPost %s sent len(%d) got len(%d)\n", finalURL.String(), p.Len(), newpb.Len())
+ return newpb, err
+}
diff --git a/repo.proto b/repo.proto
index b4d1e22..1beea6c 100644
--- a/repo.proto
+++ b/repo.proto
@@ -68,6 +68,8 @@ message Repo { // `autogenpb
string state = 23; // status or state. useful for building tooling
GitTag currentTag = 24; // used to examine repo branches
GitConfig gitConfig = 25; // protobuf of the current .git/config
+ string MasterHash = 26; // hash of the current master branch
+ string DevelHash = 27; // hash of the current devel branch
}
message Repos { // `autogenpb:marshal` `autogenpb:sort` `autogenpb:gui` `autogenpb:nomutex`