Skip to content

Commit b0169a7

Browse files
committed
add options
1 parent f2a6df0 commit b0169a7

File tree

4 files changed

+57
-0
lines changed

4 files changed

+57
-0
lines changed

custom/conf/app.example.ini

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,6 +1007,14 @@ LEVEL = Info
10071007
;; The set of allowed values and rules are the same as DEFAULT_REPO_UNITS.
10081008
;DEFAULT_FORK_REPO_UNITS = repo.code,repo.pulls
10091009
;;
1010+
;; Comma separated list of default mirror repo units.
1011+
;; The set of allowed values and rules are the same as DEFAULT_REPO_UNITS.
1012+
;DEFAULT_MIRROR_REPO_UNITS = repo.code,repo.releases,repo.issues,repo.pulls,repo.wiki,repo.projects,repo.packages
1013+
;;
1014+
;; Comma separated list of default template repo units.
1015+
;; The set of allowed values and rules are the same as DEFAULT_REPO_UNITS.
1016+
;DEFAULT_TEMPLATE_REPO_UNITS = repo.code,repo.releases,repo.issues,repo.pulls,repo.wiki,repo.projects,repo.packages
1017+
;;
10101018
;; Prefix archive files by placing them in a directory named after the repository
10111019
;PREFIX_ARCHIVE_FILES = true
10121020
;;

models/unit/unit.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,28 @@ var (
8080
TypePullRequests,
8181
}
8282

83+
// DefaultMirrorRepoUnits contains the default unit types for mirrors
84+
DefaultMirrorRepoUnits = []Type{
85+
TypeCode,
86+
TypeIssues,
87+
TypePullRequests,
88+
TypeReleases,
89+
TypeWiki,
90+
TypeProjects,
91+
TypePackages,
92+
}
93+
94+
// DefaultTemplateRepoUnits contains the default unit types for templates
95+
DefaultTemplateRepoUnits = []Type{
96+
TypeCode,
97+
TypeIssues,
98+
TypePullRequests,
99+
TypeReleases,
100+
TypeWiki,
101+
TypeProjects,
102+
TypePackages,
103+
}
104+
83105
// NotAllowedDefaultRepoUnits contains units that can't be default
84106
NotAllowedDefaultRepoUnits = []Type{
85107
TypeExternalWiki,
@@ -147,6 +169,7 @@ func LoadUnitConfig() error {
147169
if len(DefaultRepoUnits) == 0 {
148170
return errors.New("no default repository units found")
149171
}
172+
// default fork repo units
150173
setDefaultForkRepoUnits, invalidKeys := FindUnitTypes(setting.Repository.DefaultForkRepoUnits...)
151174
if len(invalidKeys) > 0 {
152175
log.Warn("Invalid keys in default fork repo units: %s", strings.Join(invalidKeys, ", "))
@@ -155,6 +178,24 @@ func LoadUnitConfig() error {
155178
if len(DefaultForkRepoUnits) == 0 {
156179
return errors.New("no default fork repository units found")
157180
}
181+
// default mirror repo units
182+
setDefaultMirrorRepoUnits, invalidKeys := FindUnitTypes(setting.Repository.DefaultMirrorRepoUnits...)
183+
if len(invalidKeys) > 0 {
184+
log.Warn("Invalid keys in default mirror repo units: %s", strings.Join(invalidKeys, ", "))
185+
}
186+
DefaultMirrorRepoUnits = validateDefaultRepoUnits(DefaultMirrorRepoUnits, setDefaultMirrorRepoUnits)
187+
if len(DefaultMirrorRepoUnits) == 0 {
188+
return errors.New("no default mirror repository units found")
189+
}
190+
// default template repo units
191+
setDefaultTemplateRepoUnits, invalidKeys := FindUnitTypes(setting.Repository.DefaultTemplateRepoUnits...)
192+
if len(invalidKeys) > 0 {
193+
log.Warn("Invalid keys in default template repo units: %s", strings.Join(invalidKeys, ", "))
194+
}
195+
DefaultTemplateRepoUnits = validateDefaultRepoUnits(DefaultTemplateRepoUnits, setDefaultTemplateRepoUnits)
196+
if len(DefaultTemplateRepoUnits) == 0 {
197+
return errors.New("no default template repository units found")
198+
}
158199
return nil
159200
}
160201

modules/repository/create.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ func CreateRepositoryByExample(ctx context.Context, doer, u *user_model.User, re
7070
defaultUnits := unit.DefaultRepoUnits
7171
if isFork {
7272
defaultUnits = unit.DefaultForkRepoUnits
73+
} else if repo.IsMirror {
74+
defaultUnits = unit.DefaultMirrorRepoUnits
75+
} else if repo.IsTemplate {
76+
defaultUnits = unit.DefaultTemplateRepoUnits
7377
}
7478
units := make([]repo_model.RepoUnit, 0, len(defaultUnits))
7579
for _, tp := range defaultUnits {

modules/setting/repository.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ var (
4343
DisabledRepoUnits []string
4444
DefaultRepoUnits []string
4545
DefaultForkRepoUnits []string
46+
DefaultMirrorRepoUnits []string
47+
DefaultTemplateRepoUnits []string
4648
PrefixArchiveFiles bool
4749
DisableMigrations bool
4850
DisableStars bool `ini:"DISABLE_STARS"`
@@ -161,6 +163,8 @@ var (
161163
DisabledRepoUnits: []string{},
162164
DefaultRepoUnits: []string{},
163165
DefaultForkRepoUnits: []string{},
166+
DefaultMirrorRepoUnits: []string{},
167+
DefaultTemplateRepoUnits: []string{},
164168
PrefixArchiveFiles: true,
165169
DisableMigrations: false,
166170
DisableStars: false,

0 commit comments

Comments
 (0)