summaryrefslogtreecommitdiff
path: root/repo.merge.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-03 16:44:31 -0500
committerJeff Carr <[email protected]>2025-10-03 16:44:31 -0500
commit2a04c33edf87e5396ceb3cc829622c16ce3c173a (patch)
treedacdf64bd00e6c1d3242b50497320efac804aa5b /repo.merge.go
parentd9e303b50cbb11bb781c8173e028a89131c947ca (diff)
work around .gitignore changes causing dirty reposv0.0.142
Diffstat (limited to 'repo.merge.go')
-rw-r--r--repo.merge.go33
1 files changed, 13 insertions, 20 deletions
diff --git a/repo.merge.go b/repo.merge.go
index 1b07558..3bdc3c5 100644
--- a/repo.merge.go
+++ b/repo.merge.go
@@ -9,12 +9,16 @@ import (
func (r *Repo) MergeToDevel() (*cmd.Status, error) {
r.ReloadCheck()
- if r.GetCurrentBranchName() != r.GetDevelBranchName() {
- return nil, fmt.Errorf("repo not on devel branch")
- }
if r.CheckDirty() {
return nil, fmt.Errorf("repo is dirty")
}
+ if r.GetCurrentBranchName() != r.GetUserBranchName() {
+ return nil, fmt.Errorf("repo is not on user branch")
+ }
+ if err := r.CheckoutDevelError(); err != nil {
+ log.Info("CheckoutDevelError()", err)
+ return nil, err
+ }
devel := r.GetDevelBranchName()
user := r.GetUserBranchName()
@@ -47,27 +51,16 @@ func (r *Repo) MergeToDevel() (*cmd.Status, error) {
func (r *Repo) MergeToMaster() (*cmd.Status, error) {
r.ReloadCheck()
- if r.GetCurrentBranchName() != r.GetMasterBranchName() {
- return nil, fmt.Errorf("repo not on master branch")
+ if r.GetCurrentBranchName() != r.GetDevelBranchName() {
+ return nil, fmt.Errorf("repo is not on devel branch")
}
- /*
- if r.GetReadOnly() {
- r.ReloadCheck() // rescan the repo
- // master branch is read only. you can not git push
- lh := r.GetLocalHash("devel")
- rh := r.GetRemoteHash("devel")
- if lh == rh {
- // log.Info(r.FullPath, "local devel == remote devel", lh, rh)
- } else {
- log.Info(r.FullPath, "local devel != remote devel", lh, rh)
- }
- log.Info("can't merge to master on read only() repos. trying anyway")
- // return nil, fmt.Errorf("can't merge to master on read only() repos")
- }
- */
if r.CheckDirty() {
return nil, fmt.Errorf("repo is dirty")
}
+ if err := r.CheckoutMasterError(); err != nil {
+ log.Info("CheckoutMasterError()", err)
+ return nil, err
+ }
master := r.GetMasterBranchName()
devel := r.GetDevelBranchName()