mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 00:54:43 +01:00 
			
		
		
		
	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
					
				| @ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user