diff --git a/modules/analyze/vendor.go b/modules/analyze/vendor.go index f3e75f535f..d0b7d2529f 100644 --- a/modules/analyze/vendor.go +++ b/modules/analyze/vendor.go @@ -24,7 +24,7 @@ func IsVendor(treePath string) bool { case ".gitignore", ".gitattributes", ".gitmodules": return false } - if strings.HasPrefix(treePath, ".github/") || strings.HasPrefix(treePath, ".gitea/") { + if strings.HasPrefix(treePath, ".github/") || strings.HasPrefix(treePath, ".gitea/") || strings.HasPrefix(treePath, ".mokogitea/") { return false } return true diff --git a/modules/setting/actions.go b/modules/setting/actions.go index 0d1bdadc8e..11ff6948a3 100644 --- a/modules/setting/actions.go +++ b/modules/setting/actions.go @@ -34,7 +34,7 @@ var ( Enabled: true, DefaultActionsURL: defaultActionsURLGitHub, SkipWorkflowStrings: []string{"[skip ci]", "[ci skip]", "[no ci]", "[skip actions]", "[actions skip]"}, - WorkflowDirs: []string{".gitea/workflows", ".github/workflows"}, + WorkflowDirs: []string{".mokogitea/workflows", ".gitea/workflows", ".github/workflows"}, MaxRerunAttempts: defaultMaxRerunAttempts, } ) diff --git a/modules/setting/actions_test.go b/modules/setting/actions_test.go index 5c7ab268c1..a722cdcee5 100644 --- a/modules/setting/actions_test.go +++ b/modules/setting/actions_test.go @@ -112,7 +112,7 @@ func Test_WorkflowDirs(t *testing.T) { { name: "default", iniStr: `[actions]`, - wantDirs: []string{".gitea/workflows", ".github/workflows"}, + wantDirs: []string{".mokogitea/workflows", ".gitea/workflows", ".github/workflows"}, }, { name: "single dir", diff --git a/routers/web/repo/view_readme.go b/routers/web/repo/view_readme.go index 79ca9efc36..705bd98bf7 100644 --- a/routers/web/repo/view_readme.go +++ b/routers/web/repo/view_readme.go @@ -32,7 +32,7 @@ import ( // // FIXME: There has to be a more efficient way of doing this func findReadmeFileInEntries(ctx *context.Context, parentDir string, entries []*git.TreeEntry, tryWellKnownDirs bool) (string, *git.TreeEntry, error) { - docsEntries := make([]*git.TreeEntry, 3) // (one of docs/, .gitea/ or .github/) + docsEntries := make([]*git.TreeEntry, 4) // (one of docs/, .mokogitea/, .gitea/ or .github/) for _, entry := range entries { if tryWellKnownDirs && entry.IsDir() { // as a special case for the top-level repo introduction README, @@ -44,14 +44,18 @@ func findReadmeFileInEntries(ctx *context.Context, parentDir string, entries []* if entry.Name() == "docs" || docsEntries[0] == nil { docsEntries[0] = entry } - case ".gitea": - if entry.Name() == ".gitea" || docsEntries[1] == nil { + case ".mokogitea": + if entry.Name() == ".mokogitea" || docsEntries[1] == nil { docsEntries[1] = entry } - case ".github": - if entry.Name() == ".github" || docsEntries[2] == nil { + case ".gitea": + if entry.Name() == ".gitea" || docsEntries[2] == nil { docsEntries[2] = entry } + case ".github": + if entry.Name() == ".github" || docsEntries[3] == nil { + docsEntries[3] = entry + } } } } diff --git a/routers/web/repo/view_readme_test.go b/routers/web/repo/view_readme_test.go index 5f61b03fb8..bdcb9e6ed9 100644 --- a/routers/web/repo/view_readme_test.go +++ b/routers/web/repo/view_readme_test.go @@ -17,7 +17,7 @@ import ( ) func TestFindReadmeFileInEntriesWithSymlinkInSubfolder(t *testing.T) { - for _, subdir := range []string{".github", ".gitea", "docs"} { + for _, subdir := range []string{".github", ".gitea", ".mokogitea", "docs"} { t.Run(subdir, func(t *testing.T) { repoPath := t.TempDir() stdin := fmt.Sprintf(`commit refs/heads/master diff --git a/services/repository/generate.go b/services/repository/generate.go index 83e9c22e54..38aebe6112 100644 --- a/services/repository/generate.go +++ b/services/repository/generate.go @@ -140,12 +140,18 @@ func (gt *giteaTemplateFileMatcher) Match(s string) bool { } func readGiteaTemplateFile(tmpDir string) (*giteaTemplateFileMatcher, error) { - templateRelPath := filepath.Join(".gitea", "template") - content, err := util.ReadRegularPathFile(tmpDir, templateRelPath, 1024*1024) - if err != nil { - return nil, util.Iif(errors.Is(err, util.ErrNotRegularPathFile), os.ErrNotExist, err) + // MokoGitea: check .mokogitea/template first, then fall back to .gitea/template + for _, dir := range []string{".mokogitea", ".gitea"} { + templateRelPath := filepath.Join(dir, "template") + content, err := util.ReadRegularPathFile(tmpDir, templateRelPath, 1024*1024) + if err == nil { + return newGiteaTemplateFileMatcher(templateRelPath, content), nil + } + if !errors.Is(err, util.ErrNotRegularPathFile) && !os.IsNotExist(err) { + return nil, err + } } - return newGiteaTemplateFileMatcher(templateRelPath, content), nil + return nil, os.ErrNotExist } func substGiteaTemplateFile(ctx context.Context, tmpDir, tmpDirSubPath string, templateRepo, generateRepo *repo_model.Repository) error {