diff options
| author | Jeff Carr <[email protected]> | 2025-10-03 16:43:30 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-03 16:43:30 -0500 |
| commit | 05b7e456db1ff6528f4af0c70559241e63398d69 (patch) | |
| tree | 1c681bfbc4e033a800a4519330b1c335314d289a | |
| parent | 1987938654c9dae78dbde09fb3fcd341b1129659 (diff) | |
| -rw-r--r-- | doMerge.go | 96 |
1 files changed, 45 insertions, 51 deletions
@@ -53,9 +53,18 @@ func doMerge() error { okExit("") } repo := findCurrentPwdRepoOrDie() - if err := repoMergeToDevel(repo); err != nil { - badRepoExit(repo, err) + if repo.GetCurrentBranchName() == repo.GetDevelBranchName() { + if _, err := repo.MergeToMaster(); err != nil { + log.Info("merge from devel 2 failed", repo.GetGoPath(), err) + badExit(err) + } + return nil } + if _, err := repo.MergeToDevel(); err != nil { + log.Info("merge from user 4 failed", repo.GetGoPath(), err) + badExit(err) + } + config.SetChanged("repos", true) return nil } @@ -80,51 +89,49 @@ func doMergeDevel() (*gitpb.Repos, error) { done := gitpb.NewRepos() found := findMergeToDevel() for repo := range found.IterAll() { - if repo.CheckDirty() { - log.Info("repo is dirty", repo.GetFullPath()) - continue - } - 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("merge from user 2 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) } - done.Append(repo) config.SetChanged("repos", true) + // repoMergeToDevel(repo) + /* + if repo.CheckDirty() { + log.Info("repo is dirty", repo.GetFullPath()) + continue + } + 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 HASHES TO DEVEL:", i, hash) + } + if _, err := repo.MergeToDevel(); err != nil { + log.Info("merge from user 1 failed", repo.GetGoPath(), err) + err = log.Errorf("merge from user 1 failed") + // log.Info(strings.Join(r.Stdout, "\n")) + // log.Info(strings.Join(r.Stderr, "\n")) + badExit(err) + } + done.Append(repo) + config.SetChanged("repos", true) + */ } 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) + log.Info("merge from user 3 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")) @@ -133,6 +140,7 @@ func repoMergeToDevel(repo *gitpb.Repo) error { config.SetChanged("repos", true) return nil } +*/ func doMergeMaster() (*gitpb.Repos, error) { var err error @@ -141,23 +149,9 @@ func doMergeMaster() (*gitpb.Repos, error) { done := gitpb.NewRepos() found := findMergeToMaster() for repo := range found.IterAll() { - if repo.CheckDirty() { - log.Info("repo is dirty", repo.GetGoPath()) - continue - } - - log.Info("Starting merge on", repo.GetGoPath()) - if repo.CheckoutMaster() { - log.Info("checkout devel failed", repo.GetGoPath()) - err = log.Errorf("checkout devel failed") - badExit(err) - } - if _, err := repo.MergeToMaster(); 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")) + log.Info("merge from devel 1 failed", repo.GetGoPath(), err) + err = log.Errorf("merge from devel 1 failed") badExit(err) } |
