@@ -1152,16 +1152,6 @@ func CreateRepository(ctx DBContext, doer, u *User, repo *Repository, overwriteO
1152
1152
return fmt .Errorf ("recalculateAccesses: %v" , err )
1153
1153
}
1154
1154
1155
- if u .Visibility == api .VisibleTypePublic && ! repo .IsPrivate {
1156
- // Create/Remove git-daemon-export-ok for git-daemon...
1157
- daemonExportFile := path .Join (repo .RepoPath (), `git-daemon-export-ok` )
1158
- if f , err := os .Create (daemonExportFile ); err != nil {
1159
- log .Error ("Failed to create %s: %v" , daemonExportFile , err )
1160
- } else {
1161
- f .Close ()
1162
- }
1163
- }
1164
-
1165
1155
if setting .Service .AutoWatchNewRepos {
1166
1156
if err = watchRepo (ctx .e , doer .ID , repo .ID , true ); err != nil {
1167
1157
return fmt .Errorf ("watchRepo: %v" , err )
@@ -1175,6 +1165,46 @@ func CreateRepository(ctx DBContext, doer, u *User, repo *Repository, overwriteO
1175
1165
return nil
1176
1166
}
1177
1167
1168
+ // CheckDaemonExportOK creates/removes git-daemon-export-ok for git-daemon...
1169
+ func (repo * Repository ) CheckDaemonExportOK () error {
1170
+ return repo .checkDaemonExportOK (x )
1171
+ }
1172
+
1173
+ // CheckDaemonExportOKCtx creates/removes git-daemon-export-ok for git-daemon...
1174
+ func (repo * Repository ) CheckDaemonExportOKCtx (ctx DBContext ) error {
1175
+ return repo .checkDaemonExportOK (ctx .e )
1176
+ }
1177
+
1178
+ func (repo * Repository ) checkDaemonExportOK (e Engine ) error {
1179
+ if err := repo .getOwner (e ); err != nil {
1180
+ return err
1181
+ }
1182
+
1183
+ // Create/Remove git-daemon-export-ok for git-daemon...
1184
+ daemonExportFile := path .Join (repo .RepoPath (), `git-daemon-export-ok` )
1185
+
1186
+ isExist , err := util .IsExist (daemonExportFile )
1187
+ if err != nil {
1188
+ log .Error ("Unable to check if %s exists. Error: %v" , daemonExportFile , err )
1189
+ return err
1190
+ }
1191
+
1192
+ isPublic := ! repo .IsPrivate && repo .Owner .Visibility == api .VisibleTypePublic
1193
+ if ! isPublic && isExist {
1194
+ if err = util .Remove (daemonExportFile ); err != nil {
1195
+ log .Error ("Failed to remove %s: %v" , daemonExportFile , err )
1196
+ }
1197
+ } else if isPublic && ! isExist {
1198
+ if f , err := os .Create (daemonExportFile ); err != nil {
1199
+ log .Error ("Failed to create %s: %v" , daemonExportFile , err )
1200
+ } else {
1201
+ f .Close ()
1202
+ }
1203
+ }
1204
+
1205
+ return nil
1206
+ }
1207
+
1178
1208
func countRepositories (userID int64 , private bool ) int64 {
1179
1209
sess := x .Where ("id > 0" )
1180
1210
@@ -1324,24 +1354,9 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
1324
1354
}
1325
1355
1326
1356
// Create/Remove git-daemon-export-ok for git-daemon...
1327
- daemonExportFile := path .Join (repo .RepoPath (), `git-daemon-export-ok` )
1328
- isExist , err := util .IsExist (daemonExportFile )
1329
- isPublic := ! repo .IsPrivate && repo .Owner .Visibility == api .VisibleTypePublic
1330
- if err != nil {
1331
- log .Error ("Unable to check if %s exists. Error: %v" , daemonExportFile , err )
1357
+ if err := repo .checkDaemonExportOK (e ); err != nil {
1332
1358
return err
1333
1359
}
1334
- if ! isPublic && isExist {
1335
- if err = util .Remove (daemonExportFile ); err != nil {
1336
- log .Error ("Failed to remove %s: %v" , daemonExportFile , err )
1337
- }
1338
- } else if isPublic && ! isExist {
1339
- if f , err := os .Create (daemonExportFile ); err != nil {
1340
- log .Error ("Failed to create %s: %v" , daemonExportFile , err )
1341
- } else {
1342
- f .Close ()
1343
- }
1344
- }
1345
1360
1346
1361
forkRepos , err := getRepositoriesByForkID (e , repo .ID )
1347
1362
if err != nil {
0 commit comments