Skip to content

Commit bbc99f1

Browse files
committed
Allow Zero Mirror Interval
1 parent 658da8d commit bbc99f1

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

modules/repository/repo.go

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -127,25 +127,33 @@ func MigrateRepositoryGitData(ctx context.Context, u *models.User, repo *models.
127127
}
128128

129129
if opts.Mirror {
130-
var interval = setting.Mirror.DefaultInterval
130+
mirrorModel := models.Mirror{
131+
RepoID: repo.ID,
132+
Interval: setting.Mirror.DefaultInterval,
133+
EnablePrune: true,
134+
NextUpdateUnix: timeutil.TimeStampNow().AddDuration(setting.Mirror.DefaultInterval),
135+
}
136+
131137
if opts.MirrorInterval != "" {
132-
interval, err = time.ParseDuration(opts.MirrorInterval)
138+
parsedInterval, err := time.ParseDuration(opts.MirrorInterval)
133139
if err != nil {
134140
log.Error("Failed to set Interval: %v", err)
135141
return repo, err
136142
}
137-
if interval != 0 && interval < setting.Mirror.MinInterval {
138-
err := fmt.Errorf("Interval is set below Minimum Interval")
143+
if parsedInterval == 0 {
144+
mirrorModel.Interval = 0
145+
mirrorModel.NextUpdateUnix = 0
146+
} else if parsedInterval < setting.Mirror.MinInterval {
147+
err := fmt.Errorf("Interval %s is set below Minimum Interval of %s", parsedInterval, setting.Mirror.MinInterval)
139148
log.Error("Interval: %s is too frequent", opts.MirrorInterval)
140149
return repo, err
150+
} else {
151+
mirrorModel.Interval = parsedInterval
152+
mirrorModel.NextUpdateUnix = timeutil.TimeStampNow().AddDuration(parsedInterval)
141153
}
142154
}
143-
if err = models.InsertMirror(&models.Mirror{
144-
RepoID: repo.ID,
145-
Interval: interval,
146-
EnablePrune: true,
147-
NextUpdateUnix: timeutil.TimeStampNow().AddDuration(interval),
148-
}); err != nil {
155+
156+
if err = models.InsertMirror(&mirrorModel); err != nil {
149157
return repo, fmt.Errorf("InsertOne: %v", err)
150158
}
151159

0 commit comments

Comments
 (0)