Skip to content

Commit 438646e

Browse files
99rgossewxiaoguang6543techknowlogick
authored
Handle the error of a missing blob object fix #19530 (#19552)
* Handle the error of a missing blob object * Show error in logs * as per @zeripath * Add missing error check * Add missing error check * Update compare.go * Use formal code * Update compare.go Co-authored-by: wxiaoguang <[email protected]> Co-authored-by: 6543 <[email protected]> Co-authored-by: techknowlogick <[email protected]>
1 parent c18d8d6 commit 438646e

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

Diff for: routers/web/repo/compare.go

+11-2
Original file line numberDiff line numberDiff line change
@@ -143,20 +143,29 @@ func setCsvCompareContext(ctx *context.Context) {
143143
if err == errTooLarge {
144144
return CsvDiffResult{nil, err.Error()}
145145
}
146+
if err != nil {
147+
log.Error("CreateCsvDiff error whilst creating baseReader from file %s in commit %s in %s: %v", diffFile.Name, baseCommit.ID.String(), ctx.Repo.Repository.Name, err)
148+
return CsvDiffResult{nil, "unable to load file from base commit"}
149+
}
150+
146151
headReader, headBlobCloser, err := csvReaderFromCommit(&markup.RenderContext{Ctx: ctx, Filename: diffFile.Name}, headCommit)
147152
if headBlobCloser != nil {
148153
defer headBlobCloser.Close()
149154
}
150155
if err == errTooLarge {
151156
return CsvDiffResult{nil, err.Error()}
152157
}
158+
if err != nil {
159+
log.Error("CreateCsvDiff error whilst creating headReader from file %s in commit %s in %s: %v", diffFile.Name, headCommit.ID.String(), ctx.Repo.Repository.Name, err)
160+
return CsvDiffResult{nil, "unable to load file from head commit"}
161+
}
153162

154163
sections, err := gitdiff.CreateCsvDiff(diffFile, baseReader, headReader)
155164
if err != nil {
156165
errMessage, err := csv_module.FormatError(err, ctx.Locale)
157166
if err != nil {
158-
log.Error("RenderCsvDiff failed: %v", err)
159-
return CsvDiffResult{nil, ""}
167+
log.Error("CreateCsvDiff FormatError failed: %v", err)
168+
return CsvDiffResult{nil, "unknown csv diff error"}
160169
}
161170
return CsvDiffResult{nil, errMessage}
162171
}

0 commit comments

Comments
 (0)