mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 10:44:12 +01:00 
			
		
		
		
	Add option to disable automatic mirror syncing. (#5242)
Setting the interval to 0 will disable to automatic syncing.
This commit is contained in:
		
							parent
							
								
									de8f98192b
								
							
						
					
					
						commit
						599adde1bc
					
				@ -63,7 +63,11 @@ func (m *Mirror) AfterLoad(session *xorm.Session) {
 | 
			
		||||
 | 
			
		||||
// ScheduleNextUpdate calculates and sets next update time.
 | 
			
		||||
func (m *Mirror) ScheduleNextUpdate() {
 | 
			
		||||
	m.NextUpdateUnix = util.TimeStampNow().AddDuration(m.Interval)
 | 
			
		||||
	if m.Interval != 0 {
 | 
			
		||||
		m.NextUpdateUnix = util.TimeStampNow().AddDuration(m.Interval)
 | 
			
		||||
	} else {
 | 
			
		||||
		m.NextUpdateUnix = 0
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func remoteAddress(repoPath string) (string, error) {
 | 
			
		||||
@ -302,6 +306,7 @@ func MirrorUpdate() {
 | 
			
		||||
 | 
			
		||||
	if err := x.
 | 
			
		||||
		Where("next_update_unix<=?", time.Now().Unix()).
 | 
			
		||||
		And("next_update_unix!=0").
 | 
			
		||||
		Iterate(new(Mirror), func(idx int, bean interface{}) error {
 | 
			
		||||
			m := bean.(*Mirror)
 | 
			
		||||
			if m.Repo == nil {
 | 
			
		||||
 | 
			
		||||
@ -524,7 +524,7 @@ create_repo = Create Repository
 | 
			
		||||
default_branch = Default Branch
 | 
			
		||||
mirror_prune = Prune
 | 
			
		||||
mirror_prune_desc = Remove obsolete remote-tracking references
 | 
			
		||||
mirror_interval = Mirror Interval (valid time units are 'h', 'm', 's')
 | 
			
		||||
mirror_interval = Mirror Interval (valid time units are 'h', 'm', 's'). 0 to disable automatic sync.
 | 
			
		||||
mirror_interval_invalid = The mirror interval is not valid.
 | 
			
		||||
mirror_address = Clone From URL
 | 
			
		||||
mirror_address_desc = Include any required authorization credentials in the URL.
 | 
			
		||||
 | 
			
		||||
@ -117,12 +117,16 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		interval, err := time.ParseDuration(form.Interval)
 | 
			
		||||
		if err != nil || interval < setting.Mirror.MinInterval {
 | 
			
		||||
		if err != nil && (interval != 0 || interval < setting.Mirror.MinInterval) {
 | 
			
		||||
			ctx.RenderWithErr(ctx.Tr("repo.mirror_interval_invalid"), tplSettingsOptions, &form)
 | 
			
		||||
		} else {
 | 
			
		||||
			ctx.Repo.Mirror.EnablePrune = form.EnablePrune
 | 
			
		||||
			ctx.Repo.Mirror.Interval = interval
 | 
			
		||||
			ctx.Repo.Mirror.NextUpdateUnix = util.TimeStampNow().AddDuration(interval)
 | 
			
		||||
			if interval != 0 {
 | 
			
		||||
				ctx.Repo.Mirror.NextUpdateUnix = util.TimeStampNow().AddDuration(interval)
 | 
			
		||||
			} else {
 | 
			
		||||
				ctx.Repo.Mirror.NextUpdateUnix = 0
 | 
			
		||||
			}
 | 
			
		||||
			if err := models.UpdateMirror(ctx.Repo.Mirror); err != nil {
 | 
			
		||||
				ctx.RenderWithErr(ctx.Tr("repo.mirror_interval_invalid"), tplSettingsOptions, &form)
 | 
			
		||||
				return
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user