put the checking logic here
This commit is contained in:
parent
387f69631b
commit
d01cb1c9d7
|
@ -1,27 +1,45 @@
|
|||
package gitpb
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"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()
|
||||
func (r *Repo) MergeToDevel() (*cmd.Status, error) {
|
||||
r.Reload()
|
||||
if r.GetCurrentBranchName() != r.GetDevelBranchName() {
|
||||
return nil, fmt.Errorf("repo not on devel branch")
|
||||
}
|
||||
if r.CheckDirty() {
|
||||
return nil, fmt.Errorf("repo is dirty")
|
||||
}
|
||||
devel := r.GetDevelBranchName()
|
||||
user := r.GetUserBranchName()
|
||||
|
||||
log.Info("MergeUserToDevel() checking out", devel, "started on", startbranch, "merge", user)
|
||||
log.Info("MergeToDevel() merging from", user, "into", devel)
|
||||
|
||||
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(WARN, "MergeUserToDevel() failed", rs.GetFullPath())
|
||||
cmd := []string{"git", "merge", user}
|
||||
result, err := r.RunQuiet(cmd)
|
||||
if err != nil {
|
||||
log.Log(WARN, "MergeToDevel() failed", r.GetFullPath())
|
||||
return result, err
|
||||
}
|
||||
return nil, nil
|
||||
|
||||
if !r.IsBranchRemote(devel) {
|
||||
// devel branch is not remote. do not try 'git push'
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// it seems like we have write access. lets find out!
|
||||
cmd = []string{"git", "push"}
|
||||
result, err = r.RunQuiet(cmd)
|
||||
if err != nil {
|
||||
log.Log(WARN, "MergeToDevel() failed", r.GetFullPath())
|
||||
return result, err
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (rs *Repo) MergeDevelToMaster() (*cmd.Status, error) {
|
||||
|
|
Loading…
Reference in New Issue