diff options
Diffstat (limited to 'repo.merge.go')
| -rw-r--r-- | repo.merge.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/repo.merge.go b/repo.merge.go new file mode 100644 index 0000000..9507459 --- /dev/null +++ b/repo.merge.go @@ -0,0 +1,44 @@ +package gitpb + +import ( + "github.com/go-cmd/cmd" + "go.wit.com/log" +) + +func (rs *Repo) MergeUserToDevel() (*cmd.Status, error) { + startbranch := rs.GetCurrentBranchName() + devel := rs.GetDevelBranchName() + user := rs.GetUserBranchName() + + log.Info("MergeUserToDevel() checking out", devel, "started on", startbranch, "merge", user) + + var all [][]string + all = append(all, []string{"git", "checkout", devel}) + all = append(all, []string{"git", "merge", user}) + all = append(all, []string{"git", "push"}) + + if result, err := rs.RunStrictAll(all); err != nil { + log.Log(GITPBWARN, "MergeUserToDevel() failed", rs.GetFullPath()) + return result, err + } + return nil, nil +} + +func (rs *Repo) MergeDevelToMaster() (*cmd.Status, error) { + startbranch := rs.GetCurrentBranchName() + devel := rs.GetDevelBranchName() + main := rs.GetMasterBranchName() + + log.Info("MergeDevelToMaster() checking out", main, "started on", startbranch, "merge", devel) + + var all [][]string + all = append(all, []string{"git", "checkout", main}) + all = append(all, []string{"git", "merge", devel}) + all = append(all, []string{"git", "push"}) + + if result, err := rs.RunStrictAll(all); err != nil { + log.Log(GITPBWARN, "MergeDevelToMaster() failed", rs.GetFullPath()) + return result, err + } + return nil, nil +} |
