@@ -1146,16 +1146,6 @@ func CreateRepository(ctx context.Context, doer, u *User, repo *Repository, over
1146
1146
return fmt .Errorf ("recalculateAccesses: %v" , err )
1147
1147
}
1148
1148
1149
- if u .Visibility == api .VisibleTypePublic && ! repo .IsPrivate {
1150
- // Create/Remove git-daemon-export-ok for git-daemon...
1151
- daemonExportFile := path .Join (repo .RepoPath (), `git-daemon-export-ok` )
1152
- if f , err := os .Create (daemonExportFile ); err != nil {
1153
- log .Error ("Failed to create %s: %v" , daemonExportFile , err )
1154
- } else {
1155
- f .Close ()
1156
- }
1157
- }
1158
-
1159
1149
if setting .Service .AutoWatchNewRepos {
1160
1150
if err = watchRepo (db .GetEngine (ctx ), doer .ID , repo .ID , true ); err != nil {
1161
1151
return fmt .Errorf ("watchRepo: %v" , err )
@@ -1169,6 +1159,38 @@ func CreateRepository(ctx context.Context, doer, u *User, repo *Repository, over
1169
1159
return nil
1170
1160
}
1171
1161
1162
+ // CheckDaemonExportOK creates/removes git-daemon-export-ok for git-daemon...
1163
+ func (repo * Repository ) CheckDaemonExportOK (ctx context.Context ) error {
1164
+ e := db .GetEngine (ctx )
1165
+ if err := repo .getOwner (e ); err != nil {
1166
+ return err
1167
+ }
1168
+
1169
+ // Create/Remove git-daemon-export-ok for git-daemon...
1170
+ daemonExportFile := path .Join (repo .RepoPath (), `git-daemon-export-ok` )
1171
+
1172
+ isExist , err := util .IsExist (daemonExportFile )
1173
+ if err != nil {
1174
+ log .Error ("Unable to check if %s exists. Error: %v" , daemonExportFile , err )
1175
+ return err
1176
+ }
1177
+
1178
+ isPublic := ! repo .IsPrivate && repo .Owner .Visibility == api .VisibleTypePublic
1179
+ if ! isPublic && isExist {
1180
+ if err = util .Remove (daemonExportFile ); err != nil {
1181
+ log .Error ("Failed to remove %s: %v" , daemonExportFile , err )
1182
+ }
1183
+ } else if isPublic && ! isExist {
1184
+ if f , err := os .Create (daemonExportFile ); err != nil {
1185
+ log .Error ("Failed to create %s: %v" , daemonExportFile , err )
1186
+ } else {
1187
+ f .Close ()
1188
+ }
1189
+ }
1190
+
1191
+ return nil
1192
+ }
1193
+
1172
1194
func countRepositories (userID int64 , private bool ) int64 {
1173
1195
sess := db .GetEngine (db .DefaultContext ).Where ("id > 0" )
1174
1196
@@ -1318,24 +1340,9 @@ func updateRepository(e db.Engine, repo *Repository, visibilityChanged bool) (er
1318
1340
}
1319
1341
1320
1342
// Create/Remove git-daemon-export-ok for git-daemon...
1321
- daemonExportFile := path .Join (repo .RepoPath (), `git-daemon-export-ok` )
1322
- isExist , err := util .IsExist (daemonExportFile )
1323
- isPublic := ! repo .IsPrivate && repo .Owner .Visibility == api .VisibleTypePublic
1324
- if err != nil {
1325
- log .Error ("Unable to check if %s exists. Error: %v" , daemonExportFile , err )
1343
+ if err := repo .CheckDaemonExportOK (db .WithEngine (db .DefaultContext , e )); err != nil {
1326
1344
return err
1327
1345
}
1328
- if ! isPublic && isExist {
1329
- if err = util .Remove (daemonExportFile ); err != nil {
1330
- log .Error ("Failed to remove %s: %v" , daemonExportFile , err )
1331
- }
1332
- } else if isPublic && ! isExist {
1333
- if f , err := os .Create (daemonExportFile ); err != nil {
1334
- log .Error ("Failed to create %s: %v" , daemonExportFile , err )
1335
- } else {
1336
- f .Close ()
1337
- }
1338
- }
1339
1346
1340
1347
forkRepos , err := getRepositoriesByForkID (e , repo .ID )
1341
1348
if err != nil {
0 commit comments