mirror of
https://codeberg.org/git-pages/git-pages.git
synced 2026-08-01 17:56:02 +00:00
Warn when a Git repository is uploaded with Git LFS-tracked files.
This commit is contained in:
+12
-5
@@ -1,6 +1,8 @@
|
||||
package git_pages
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -96,17 +98,22 @@ func validateRedirectRule(rule *redirects.Rule) error {
|
||||
}
|
||||
|
||||
// Parses redirects file and injects rules into the manifest.
|
||||
func ProcessRedirectsFile(manifest *Manifest) error {
|
||||
func ProcessRedirectsFile(ctx context.Context, manifest *Manifest) error {
|
||||
redirectsEntry := manifest.Contents[RedirectsFileName]
|
||||
delete(manifest.Contents, RedirectsFileName)
|
||||
if redirectsEntry == nil {
|
||||
return nil
|
||||
} else if redirectsEntry.GetType() != Type_InlineFile {
|
||||
return AddProblem(manifest, RedirectsFileName,
|
||||
"not a regular file")
|
||||
}
|
||||
|
||||
rules, err := redirects.ParseString(string(redirectsEntry.GetData()))
|
||||
data, err := GetEntryContents(ctx, redirectsEntry)
|
||||
if errors.Is(err, ErrNotRegularFile) {
|
||||
return AddProblem(manifest, RedirectsFileName,
|
||||
"not a regular file")
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
rules, err := redirects.ParseString(string(data))
|
||||
if err != nil {
|
||||
return AddProblem(manifest, RedirectsFileName,
|
||||
"syntax error: %s", err)
|
||||
|
||||
Reference in New Issue
Block a user