summaryrefslogtreecommitdiff
path: root/doMerge.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-17 01:08:30 -0500
committerJeff Carr <[email protected]>2025-09-17 01:08:30 -0500
commitce0fd10064440ebce0fe4941bb15cf4beb14540a (patch)
tree738c8d52819fb7158762480a68962efd0312e6cd /doMerge.go
parentae2cbf1886cb6bd71647c7d6ce1ed55f016c5618 (diff)
common argv handling
Diffstat (limited to 'doMerge.go')
-rw-r--r--doMerge.go28
1 files changed, 27 insertions, 1 deletions
diff --git a/doMerge.go b/doMerge.go
index 4ec018c..7831f52 100644
--- a/doMerge.go
+++ b/doMerge.go
@@ -32,7 +32,7 @@ func doMergeDevel() (*gitpb.Repos, error) {
found := findMergeToDevel()
for repo := range found.IterAll() {
if repo.CheckDirty() {
- log.Info("repo is dirty", repo.GetGoPath())
+ log.Info("repo is dirty", repo.GetFullPath())
continue
}
log.Infof("%s starting git merge\n", repo.FullPath)
@@ -59,6 +59,32 @@ func doMergeDevel() (*gitpb.Repos, error) {
return done, err
}
+func repoMergeToDevel(repo *gitpb.Repo) error {
+ if repo.CheckDirty() {
+ return log.Errorf("can not merge. repo is dirty")
+ }
+ log.Infof("%s starting git merge\n", repo.FullPath)
+ if repo.CheckoutDevel() {
+ log.Info("checkout devel failed", repo.GetGoPath())
+ err := log.Errorf("checkout devel failed")
+ badExit(err)
+ }
+ // hash differences when merging user into devel branch
+ out := repo.GetBranchDifferences(repo.GetDevelBranchName(), repo.GetUserBranchName())
+ for i, hash := range out {
+ log.Info("MERGE HASH FROM USER TO DEVEL", i, hash)
+ }
+ if _, err := repo.MergeToDevel(); err != nil {
+ log.Info("merge from user failed", repo.GetGoPath(), err)
+ // err := log.Errorf("merge from user failed")
+ // log.Info(strings.Join(r.Stdout, "\n"))
+ // log.Info(strings.Join(r.Stderr, "\n"))
+ badExit(err)
+ }
+ config.SetChanged("repos", true)
+ return nil
+}
+
func doMergeMaster() (*gitpb.Repos, error) {
var err error
setForgeMode(forgepb.ForgeMode_MASTER)