forgejo-aneksajo_auto_patch.../data/44/ref_aneksajo_u.diff
2025-01-23 01:26:39 +01:00

37 lines
1.1 KiB
Diff

--- 9.0.3 2024-12-12 08:06:13.000000000 +0100
+++ aneksajo 2024-12-16 08:23:15.000000000 +0100
@@ -9,6 +9,7 @@
"time"
git_model "code.gitea.io/gitea/models/git"
+ "code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/httpcache"
"code.gitea.io/gitea/modules/lfs"
@@ -79,6 +80,26 @@
}
closed = true
+ // check for git-annex files
+ // (this code is weirdly redundant because I'm trying not to delete any lines in order to make merges easier)
+ isAnnexed, err := annex.IsAnnexed(blob)
+ if err != nil {
+ ctx.ServerError("annex.IsAnnexed", err)
+ return err
+ }
+ if isAnnexed {
+ content, err := annex.Content(blob)
+ if err != nil {
+ // XXX are there any other possible failure cases here?
+ // there are, there could be unrelated io errors; those should be ctx.ServerError()s
+ ctx.NotFound("annex.Content", err)
+ return err
+ }
+ defer content.Close()
+ common.ServeContentByReadSeeker(ctx.Base, ctx.Repo.TreePath, lastModified, content)
+ return nil
+ }
+
return common.ServeBlob(ctx.Base, ctx.Repo.TreePath, blob, lastModified)
}