Restore detection of branches are equal on compare page (#14586)
Somehow the test for detecting if branches are equal broke this PR restores this functionality. Fix #14502 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		
					parent
					
						
							
								ebddee8d2b
							
						
					
				
			
			
				commit
				
					
						66a148e398
					
				
			
		
					 2 changed files with 18 additions and 27 deletions
				
			
		| 
						 | 
				
			
			@ -20,9 +20,11 @@ import (
 | 
			
		|||
 | 
			
		||||
// CompareInfo represents needed information for comparing references.
 | 
			
		||||
type CompareInfo struct {
 | 
			
		||||
	MergeBase string
 | 
			
		||||
	Commits   *list.List
 | 
			
		||||
	NumFiles  int
 | 
			
		||||
	MergeBase    string
 | 
			
		||||
	BaseCommitID string
 | 
			
		||||
	HeadCommitID string
 | 
			
		||||
	Commits      *list.List
 | 
			
		||||
	NumFiles     int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetMergeBase checks and returns merge base of two branches and the reference used as base.
 | 
			
		||||
| 
						 | 
				
			
			@ -66,8 +68,18 @@ func (repo *Repository) GetCompareInfo(basePath, baseBranch, headBranch string)
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	compareInfo := new(CompareInfo)
 | 
			
		||||
 | 
			
		||||
	compareInfo.HeadCommitID, err = GetFullCommitID(repo.Path, headBranch)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		compareInfo.HeadCommitID = headBranch
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	compareInfo.MergeBase, remoteBranch, err = repo.GetMergeBase(tmpRemote, baseBranch, headBranch)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		compareInfo.BaseCommitID, err = GetFullCommitID(repo.Path, remoteBranch)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			compareInfo.BaseCommitID = remoteBranch
 | 
			
		||||
		}
 | 
			
		||||
		// We have a common base - therefore we know that ... should work
 | 
			
		||||
		logs, err := NewCommand("log", compareInfo.MergeBase+"..."+headBranch, prettyLogFormat).RunInDirBytes(repo.Path)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -83,6 +95,7 @@ func (repo *Repository) GetCompareInfo(basePath, baseBranch, headBranch string)
 | 
			
		|||
		if err != nil {
 | 
			
		||||
			compareInfo.MergeBase = remoteBranch
 | 
			
		||||
		}
 | 
			
		||||
		compareInfo.BaseCommitID = compareInfo.MergeBase
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Count number of changed files.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -423,18 +423,7 @@ func PrepareCompareDiff(
 | 
			
		|||
	// Get diff information.
 | 
			
		||||
	ctx.Data["CommitRepoLink"] = headRepo.Link()
 | 
			
		||||
 | 
			
		||||
	headCommitID := headBranch
 | 
			
		||||
	if ctx.Data["HeadIsCommit"] == false {
 | 
			
		||||
		if ctx.Data["HeadIsTag"] == true {
 | 
			
		||||
			headCommitID, err = headGitRepo.GetTagCommitID(headBranch)
 | 
			
		||||
		} else {
 | 
			
		||||
			headCommitID, err = headGitRepo.GetBranchCommitID(headBranch)
 | 
			
		||||
		}
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			ctx.ServerError("GetRefCommitID", err)
 | 
			
		||||
			return false
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	headCommitID := compareInfo.HeadCommitID
 | 
			
		||||
 | 
			
		||||
	ctx.Data["AfterCommitID"] = headCommitID
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -460,18 +449,7 @@ func PrepareCompareDiff(
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	baseGitRepo := ctx.Repo.GitRepo
 | 
			
		||||
	baseCommitID := baseBranch
 | 
			
		||||
	if ctx.Data["BaseIsCommit"] == false {
 | 
			
		||||
		if ctx.Data["BaseIsTag"] == true {
 | 
			
		||||
			baseCommitID, err = baseGitRepo.GetTagCommitID(baseBranch)
 | 
			
		||||
		} else {
 | 
			
		||||
			baseCommitID, err = baseGitRepo.GetBranchCommitID(baseBranch)
 | 
			
		||||
		}
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			ctx.ServerError("GetRefCommitID", err)
 | 
			
		||||
			return false
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	baseCommitID := compareInfo.BaseCommitID
 | 
			
		||||
 | 
			
		||||
	baseCommit, err := baseGitRepo.GetCommit(baseCommitID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue