Skip to content

Commit ba1bac7

Browse files
committed
reduce unnecessary subprocess
1 parent 1a33e5a commit ba1bac7

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

routers/web/repo/view_file.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,7 @@ func prepareToRenderFile(ctx *context.Context, entry *git.TreeEntry) {
4848
return
4949
}
5050

51-
// Don't call any other repository functions until the dataRc closed to
52-
// avoid create unnecessary temporary cat file.
5351
blob := entry.Blob()
54-
buf, dataRc, fInfo, err := getFileReader(ctx, ctx.Repo.Repository.ID, blob)
55-
if err != nil {
56-
ctx.ServerError("getFileReader", err)
57-
return
58-
}
59-
defer dataRc.Close()
6052

6153
ctx.Data["Title"] = ctx.Tr("repo.file.title", ctx.Repo.Repository.Name+"/"+path.Base(ctx.Repo.TreePath), ctx.Repo.RefFullName.ShortName())
6254
ctx.Data["FileIsSymlink"] = entry.IsLink()
@@ -97,6 +89,15 @@ func prepareToRenderFile(ctx *context.Context, entry *git.TreeEntry) {
9789
isDisplayingSource := ctx.FormString("display") == "source"
9890
isDisplayingRendered := !isDisplayingSource
9991

92+
// Don't call any other repository functions with git.Repository until the dataRc closed to
93+
// avoid create unnecessary temporary cat file.
94+
buf, dataRc, fInfo, err := getFileReader(ctx, ctx.Repo.Repository.ID, blob)
95+
if err != nil {
96+
ctx.ServerError("getFileReader", err)
97+
return
98+
}
99+
defer dataRc.Close()
100+
100101
if fInfo.isLFSFile {
101102
ctx.Data["RawFileLink"] = ctx.Repo.RepoLink + "/media/" + ctx.Repo.RefTypeNameSubURL() + "/" + util.PathEscapeSegments(ctx.Repo.TreePath)
102103
}

0 commit comments

Comments
 (0)