diff --git a/routers/web/repo/compare.go b/routers/web/repo/compare.go
index 12a78f7ccb279..a41058f412b8d 100644
--- a/routers/web/repo/compare.go
+++ b/routers/web/repo/compare.go
@@ -865,10 +865,7 @@ func ExcerptBlob(ctx *context.Context) {
direction := ctx.FormString("direction")
filePath := ctx.FormString("path")
gitRepo := ctx.Repo.GitRepo
- lastRightCommentIdx := ctx.FormInt("last_left_comment_idx")
- rightCommentIdx := ctx.FormInt("left_comment_idx")
fileName := ctx.FormString("file_name")
-
if ctx.FormBool("pull") {
ctx.Data["PageIsPullFiles"] = true
}
@@ -882,17 +879,17 @@ func ExcerptBlob(ctx *context.Context) {
}
defer gitRepo.Close()
}
-
issue, err := issues_model.GetIssueByIndex(ctx, ctx.Repo.Repository.ID, int64(2))
-
if err != nil {
ctx.ServerError("GetIssueByIndex", err)
return
}
-
allComments, err := issues_model.FetchCodeComments(ctx, issue, ctx.Doer, false)
+ if err != nil {
+ ctx.ServerError("FetchCodeComments", err)
+ return
+ }
lineCommits := allComments[fileName]
-
chunkSize := gitdiff.BlobExcerptChunkSize
commit, err := gitRepo.GetCommit(commitID)
if err != nil {
@@ -909,9 +906,9 @@ func ExcerptBlob(ctx *context.Context) {
idxRight -= chunkSize
leftHunkSize += chunkSize
rightHunkSize += chunkSize
- section.Lines, err = getExcerptLines(commit, filePath, idxLeft-1, idxRight-1, chunkSize, lastRightCommentIdx, rightCommentIdx)
+ section.Lines, err = getExcerptLines(commit, filePath, idxLeft-1, idxRight-1, chunkSize)
} else if direction == "down" && (idxLeft-lastLeft) > chunkSize {
- section.Lines, err = getExcerptLines(commit, filePath, lastLeft, lastRight, chunkSize, lastRightCommentIdx, rightCommentIdx)
+ section.Lines, err = getExcerptLines(commit, filePath, lastLeft, lastRight, chunkSize)
lastLeft += chunkSize
lastRight += chunkSize
} else {
@@ -919,7 +916,7 @@ func ExcerptBlob(ctx *context.Context) {
if direction == "down" {
offset = 0
}
- section.Lines, err = getExcerptLines(commit, filePath, lastLeft, lastRight, idxRight-lastRight+offset, lastRightCommentIdx, rightCommentIdx)
+ section.Lines, err = getExcerptLines(commit, filePath, lastLeft, lastRight, idxRight-lastRight+offset)
leftHunkSize = 0
rightHunkSize = 0
idxLeft = lastLeft
@@ -958,30 +955,19 @@ func ExcerptBlob(ctx *context.Context) {
section.Lines = append(section.Lines, lineSection)
}
}
-
for _, line := range section.Lines {
if line.SectionInfo != nil {
- //for now considerign only right side.
start := int64(line.SectionInfo.LastRightIdx + 1)
end := int64(line.SectionInfo.RightIdx - 1)
-
- //to check section has comments or not.
- //1. we can use binary search
- //2. we can LastRightCommentIdx, RightCommentIdx, LastLeftCommentIdx, LeftCommentIdx(little complex but fast)
- //3. for demo using linear search
for start <= end {
if _, ok := lineCommits[start]; ok {
if !line.SectionInfo.HasComments {
- // line.SectionInfo.LastRightCommentIdx = int(start)
- // line.SectionInfo.RightCommentIdx = int(start)
line.SectionInfo.HasComments = true
break
}
-
}
- start += 1
+ start++
}
-
}
if comments, ok := lineCommits[int64(line.LeftIdx*-1)]; ok {
line.Comments = append(line.Comments, comments...)
@@ -994,7 +980,6 @@ func ExcerptBlob(ctx *context.Context) {
return line.Comments[i].CreatedUnix < line.Comments[j].CreatedUnix
})
}
-
for _, line := range section.Lines {
for _, comment := range line.Comments {
if err := comment.LoadAttachments(ctx); err != nil {
@@ -1003,18 +988,15 @@ func ExcerptBlob(ctx *context.Context) {
}
}
}
-
ctx.Data["section"] = section
ctx.Data["FileNameHash"] = git.HashFilePathForWebUI(filePath)
ctx.Data["AfterCommitID"] = commitID
ctx.Data["Anchor"] = anchor
ctx.Data["Issue"] = issue
ctx.Data["issue"] = issue.Index
- ctx.Data["SignedUserID"] = ctx.Data["SignedUserID"]
ctx.Data["CanBlockUser"] = func(blocker, blockee *user_model.User) bool {
return user_service.CanBlockUser(ctx, ctx.Doer, blocker, blockee)
}
-
if ctx.Data["SignedUserID"] == nil {
ctx.Data["SignedUserID"] = ctx.Doer.ID
}
@@ -1025,7 +1007,7 @@ func ExcerptBlob(ctx *context.Context) {
ctx.HTML(http.StatusOK, tplBlobExcerpt)
}
-func getExcerptLines(commit *git.Commit, filePath string, idxLeft, idxRight, chunkSize, lastRightCommentIdx, rightCommentIdx int) ([]*gitdiff.DiffLine, error) {
+func getExcerptLines(commit *git.Commit, filePath string, idxLeft, idxRight, chunkSize int) ([]*gitdiff.DiffLine, error) {
blob, err := commit.Tree.GetBlobByPath(filePath)
if err != nil {
return nil, err
@@ -1052,10 +1034,6 @@ func getExcerptLines(commit *git.Commit, filePath string, idxLeft, idxRight, chu
Content: " " + lineText,
Comments: []*issues_model.Comment{},
}
- // if diffLine.SectionInfo != nil {
- // diffLine.SectionInfo.LastRightCommentIdx = lastRightCommentIdx
- // diffLine.SectionInfo.RightCommentIdx = rightCommentIdx
- // }
diffLines = append(diffLines, diffLine)
}
if err = scanner.Err(); err != nil {
diff --git a/routers/web/web.go b/routers/web/web.go
index 3aa9ba9f09ba7..388e473b668cb 100644
--- a/routers/web/web.go
+++ b/routers/web/web.go
@@ -1513,7 +1513,6 @@ func registerRoutes(m *web.Router) {
// FIXME: refactor this function, use separate routes for wiki/code
if ctx.FormBool("pull") {
ctx.Data["PageIsPullFiles"] = true
-
}
if ctx.FormBool("wiki") {
diff --git a/services/gitdiff/gitdiff.go b/services/gitdiff/gitdiff.go
index 1954be760ad64..9dedf618b1591 100644
--- a/services/gitdiff/gitdiff.go
+++ b/services/gitdiff/gitdiff.go
@@ -485,20 +485,14 @@ func (diff *Diff) LoadComments(ctx context.Context, issue *issues_model.Issue, c
if line.SectionInfo != nil {
start := int64(line.SectionInfo.LastRightIdx + 1)
end := int64(line.SectionInfo.RightIdx - 1)
-
for start <= end {
if _, ok := lineCommits[start]; ok {
- if line.SectionInfo.LastRightCommentIdx == 0 {
- // line.SectionInfo.LastRightCommentIdx = int(start)
- // line.SectionInfo.RightCommentIdx = int(start)
+ if !line.SectionInfo.HasComments {
line.SectionInfo.HasComments = true
-
break
}
-
}
- start += 1
-
+ start++
}
}
if comments, ok := lineCommits[int64(line.LeftIdx*-1)]; ok {
diff --git a/services/gitdiff/gitdiff_test.go b/services/gitdiff/gitdiff_test.go
index adcac355a7bb4..644c2475f40ac 100644
--- a/services/gitdiff/gitdiff_test.go
+++ b/services/gitdiff/gitdiff_test.go
@@ -615,7 +615,7 @@ func TestDiff_LoadCommentsWithOutdated(t *testing.T) {
}
func TestDiffLine_CanComment(t *testing.T) {
- assert.False(t, (&DiffLine{Type: DiffLineSection}).CanComment())
+ assert.True(t, (&DiffLine{Type: DiffLineSection}).CanComment())
assert.False(t, (&DiffLine{Type: DiffLineAdd, Comments: []*issues_model.Comment{{Content: "bla"}}}).CanComment())
assert.True(t, (&DiffLine{Type: DiffLineAdd}).CanComment())
assert.True(t, (&DiffLine{Type: DiffLineDel}).CanComment())
diff --git a/templates/repo/diff/blob_excerpt.tmpl b/templates/repo/diff/blob_excerpt.tmpl
index 63d6f970b640b..50ecd266219d1 100644
--- a/templates/repo/diff/blob_excerpt.tmpl
+++ b/templates/repo/diff/blob_excerpt.tmpl
@@ -91,19 +91,16 @@
- test else down blob {{$line.SectionInfo.HasComments}}
{{end}}
{{if or (eq $expandDirection 3) (eq $expandDirection 4)}}
- test else up blob
{{end}}
{{if eq $expandDirection 2}}
- test else both blob
{{end}}
diff --git a/templates/repo/diff/section_unified.tmpl b/templates/repo/diff/section_unified.tmpl
index 5c90d79459bc3..f2b51cfa1669a 100644
--- a/templates/repo/diff/section_unified.tmpl
+++ b/templates/repo/diff/section_unified.tmpl
@@ -27,19 +27,16 @@
- test down
{{end}}
{{if or (eq $expandDirection 3) (eq $expandDirection 4)}}
- test up
{{end}}
{{if eq $expandDirection 2}}
- test fold
{{end}}