fix: backport various fixes (#39203, #39236, #39239, #39248, #39251) (#39252)

This commit is contained in:
wxiaoguang
2026-09-06 22:05:11 +08:00
committed by GitHub
parent a127bc1013
commit bc11b8ac22
9 changed files with 159 additions and 16 deletions
+14
View File
@@ -4,11 +4,14 @@
package packages
import (
"errors"
"io"
"io/fs"
"net/url"
"path"
"strings"
"gitea.dev/modules/optional"
"gitea.dev/modules/setting"
"gitea.dev/modules/storage"
"gitea.dev/modules/util"
@@ -47,6 +50,17 @@ func (s *ContentStore) Has(key BlobHash256Key) error {
return err
}
func (s *ContentStore) OptionalSize(key BlobHash256Key) (sz optional.Option[int64], _ error) {
st, err := s.store.Stat(KeyToRelativePath(key))
if errors.Is(err, fs.ErrNotExist) {
return sz, nil
}
if err != nil {
return sz, err
}
return optional.Some(st.Size()), nil
}
// Save stores a package blob
func (s *ContentStore) Save(key BlobHash256Key, r io.Reader, size int64) error {
_, err := s.store.Save(KeyToRelativePath(key), r, size)