Skip to content

Commit 68d9e6b

Browse files
committed
fix tests
1 parent 9269751 commit 68d9e6b

File tree

4 files changed

+22
-19
lines changed

4 files changed

+22
-19
lines changed

routers/web/repo/commit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ func Diff(ctx *context.Context) {
370370
return
371371
}
372372

373-
ctx.PageData["DiffFiles"] = transformDiffTreeForUI(ctx, commit, diffTree, nil)
373+
ctx.PageData["DiffFiles"] = transformDiffTreeForUI(ctx, parentCommit, commit, diffTree, nil)
374374
}
375375

376376
statuses, _, err := git_model.GetLatestCommitStatus(ctx, ctx.Repo.Repository.ID, commitID, db.ListOptionsAll)

routers/web/repo/compare.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -644,22 +644,22 @@ func PrepareCompareDiff(
644644
return false
645645
}
646646

647+
baseGitRepo := ctx.Repo.GitRepo
648+
649+
beforeCommit, err := baseGitRepo.GetCommit(beforeCommitID)
650+
if err != nil {
651+
ctx.ServerError("GetCommit", err)
652+
return false
653+
}
654+
647655
if !fileOnly {
648656
diffTree, err := gitdiff.GetDiffTree(ctx, ci.HeadGitRepo, false, beforeCommitID, headCommitID)
649657
if err != nil {
650658
ctx.ServerError("GetDiffTree", err)
651659
return false
652660
}
653661

654-
ctx.PageData["DiffFiles"] = transformDiffTreeForUI(ctx, headCommit, diffTree, nil)
655-
}
656-
657-
baseGitRepo := ctx.Repo.GitRepo
658-
659-
beforeCommit, err := baseGitRepo.GetCommit(beforeCommitID)
660-
if err != nil {
661-
ctx.ServerError("GetCommit", err)
662-
return false
662+
ctx.PageData["DiffFiles"] = transformDiffTreeForUI(ctx, beforeCommit, headCommit, diffTree, nil)
663663
}
664664

665665
commits, err := processGitCommits(ctx, ci.CompareInfo.Commits)

routers/web/repo/pull.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -822,6 +822,12 @@ func viewPullFiles(ctx *context.Context, specifiedStartCommit, specifiedEndCommi
822822
return
823823
}
824824

825+
baseCommit, err := ctx.Repo.GitRepo.GetCommit(startCommitID)
826+
if err != nil {
827+
ctx.ServerError("GetCommit", err)
828+
return
829+
}
830+
825831
if !fileOnly {
826832
// note: use mergeBase is set to false because we already have the merge base from the pull request info
827833
diffTree, err := gitdiff.GetDiffTree(ctx, gitRepo, false, startCommitID, endCommitID)
@@ -840,18 +846,12 @@ func viewPullFiles(ctx *context.Context, specifiedStartCommit, specifiedEndCommi
840846
}
841847
}
842848

843-
ctx.PageData["DiffFiles"] = transformDiffTreeForUI(ctx, commit, diffTree, filesViewedState)
849+
ctx.PageData["DiffFiles"] = transformDiffTreeForUI(ctx, baseCommit, commit, diffTree, filesViewedState)
844850
}
845851

846852
ctx.Data["Diff"] = diff
847853
ctx.Data["DiffNotAvailable"] = diffShortStat.NumFiles == 0
848854

849-
baseCommit, err := ctx.Repo.GitRepo.GetCommit(startCommitID)
850-
if err != nil {
851-
ctx.ServerError("GetCommit", err)
852-
return
853-
}
854-
855855
if ctx.IsSigned && ctx.Doer != nil {
856856
if ctx.Data["CanMarkConversation"], err = issues_model.CanMarkConversation(ctx, issue, ctx.Doer); err != nil {
857857
ctx.ServerError("CanMarkConversation", err)

routers/web/repo/treelist.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,17 @@ type FileDiffFile struct {
7070

7171
// transformDiffTreeForUI transforms a DiffTree into a slice of FileDiffFile for UI rendering
7272
// it also takes a map of file names to their viewed state, which is used to mark files as viewed
73-
func transformDiffTreeForUI(ctx *context.Context, commit *git.Commit, diffTree *gitdiff.DiffTree, filesViewedState map[string]pull_model.ViewedState) []FileDiffFile {
73+
func transformDiffTreeForUI(ctx *context.Context, baseCommit *git.Commit, headCommit *git.Commit, diffTree *gitdiff.DiffTree, filesViewedState map[string]pull_model.ViewedState) []FileDiffFile {
7474
files := make([]FileDiffFile, 0, len(diffTree.Files))
7575

7676
for _, file := range diffTree.Files {
7777
nameHash := git.HashFilePathForWebUI(file.HeadPath)
7878
isSubmodule := file.HeadMode == git.EntryModeCommit
7979
isViewed := filesViewedState[file.HeadPath] == pull_model.Viewed
80-
entry, _ := commit.GetTreeEntryByPath(file.HeadPath)
80+
entry, _ := headCommit.GetTreeEntryByPath(file.HeadPath)
81+
if entry == nil {
82+
entry, _ = baseCommit.GetTreeEntryByPath(file.HeadPath)
83+
}
8184

8285
files = append(files, FileDiffFile{
8386
Name: file.HeadPath,

0 commit comments

Comments
 (0)