diff options
| author | Jeff Carr <[email protected]> | 2025-02-13 23:39:07 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-02-13 23:39:07 -0600 |
| commit | e127f53bd42684eedf0f6fa6284ac1eeeb7df561 (patch) | |
| tree | f839fd045c5f4c183ebe79141d5778fff23dd399 | |
| parent | 9cc9b9bc8733a02e5e9de88a7a3ffb6672aa345c (diff) | |
check branch differencesv0.0.75
| -rw-r--r-- | reloadRepoState.go | 13 | ||||
| -rw-r--r-- | repo.merge.go | 5 |
2 files changed, 6 insertions, 12 deletions
diff --git a/reloadRepoState.go b/reloadRepoState.go index a946e2d..7707c42 100644 --- a/reloadRepoState.go +++ b/reloadRepoState.go @@ -6,17 +6,6 @@ import ( "go.wit.com/log" ) -// count all objects only in branch1 -func (repo *Repo) countDiffObjects(branch1, branch2 string) int { - cmd := repo.ConstructGitDiffLog(branch1, branch2) - r, err := repo.RunVerboseOnError(cmd) - if err != nil { - return -1 - } - // log.Info("countDiffObjects()", cmd, len(r.Stdout), strings.Join(r.Stdout, " ")) - return len(r.Stdout) -} - func (repo *Repo) setRepoState() { if repo == nil { return @@ -44,7 +33,7 @@ func (repo *Repo) setRepoState() { repo.State = "devel not checked out" return } - b1 := repo.countDiffObjects(repo.GetMasterBranchName(), repo.GetDevelBranchName()) + b1 := repo.CountDiffObjects(repo.GetMasterBranchName(), repo.GetDevelBranchName()) if b1 == 0 { repo.State = "merge to main" // log.Info("master vs devel count is normal b1 == 0", b1) diff --git a/repo.merge.go b/repo.merge.go index 441585a..20bc5b0 100644 --- a/repo.merge.go +++ b/repo.merge.go @@ -55,6 +55,11 @@ func (r *Repo) MergeToMaster() (*cmd.Status, error) { if r.GetCurrentBranchName() != r.GetMasterBranchName() { return nil, fmt.Errorf("repo not on master branch") } + if r.GetReadOnly() { + r.Reload() // rescan the repo + // master branch is read only. you can not git push + return nil, fmt.Errorf("can't merge to master on read only() repos") + } if r.CheckDirty() { return nil, fmt.Errorf("repo is dirty") } |
