mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
2978 files. The fork is 2026-07-15 (rebrand: gitea.dev -> github.com/hanzoai/git), so 2026 is the year, and "Copyright 2026 Hanzo AI, Inc." was already the form used by the handful of files that had ours. Shape is now: // Copyright 2026 Hanzo AI, Inc. All rights reserved. // Copyright 2015 The Gogs Authors. All rights reserved. // Copyright 2019 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT Ours on top, theirs retained verbatim. Retained because MIT requires it, and separately because they are true — those authors did write that code. Not renamed to "The Git Authors": Git is a different project under a different license, and putting its name here would attribute this code to people who have nothing to do with it. Adding our line is the fix; overwriting theirs would have been both a licence violation and a false statement. gofmt still reports import-order drift in some of these files. It predates this change (verified against a stash) and is left alone rather than burying a one-line-per-file legal change under 3000 files of unrelated reordering. Build clean. Co-authored-by: Hanzo Dev <[email protected]>
61 lines
1.8 KiB
Go
61 lines
1.8 KiB
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// Copyright 2021 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package setting
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/hanzoai/git/modules/log"
|
|
)
|
|
|
|
// Mirror settings
|
|
var Mirror = struct {
|
|
Enabled bool
|
|
DisableNewPull bool
|
|
DisableNewPush bool
|
|
DefaultInterval time.Duration
|
|
MinInterval time.Duration
|
|
|
|
// SyncSecret keys the HMAC on POST /v1/sync. Empty disables that route.
|
|
SyncSecret string
|
|
}{
|
|
Enabled: true,
|
|
DisableNewPull: false,
|
|
DisableNewPush: false,
|
|
MinInterval: 10 * time.Minute,
|
|
DefaultInterval: 8 * time.Hour,
|
|
}
|
|
|
|
func loadMirrorFrom(rootCfg ConfigProvider) {
|
|
// Handle old configuration through `[repository]` `DISABLE_MIRRORS`
|
|
// - please note this was badly named and only disabled the creation of new pull mirrors
|
|
// DEPRECATED should not be removed because users maybe upgrade from lower version to the latest version
|
|
// if these are removed, the warning will not be shown
|
|
deprecatedSetting(rootCfg, "repository", "DISABLE_MIRRORS", "mirror", "ENABLED", "v1.19.0")
|
|
if ConfigSectionKeyBool(rootCfg.Section("repository"), "DISABLE_MIRRORS") {
|
|
Mirror.DisableNewPull = true
|
|
}
|
|
|
|
if err := rootCfg.Section("mirror").MapTo(&Mirror); err != nil {
|
|
log.Fatal("Failed to map Mirror settings: %v", err)
|
|
}
|
|
|
|
Mirror.SyncSecret = rootCfg.Section("mirror").Key("SYNC_SECRET").String()
|
|
|
|
if !Mirror.Enabled {
|
|
Mirror.DisableNewPull = true
|
|
Mirror.DisableNewPush = true
|
|
}
|
|
|
|
if Mirror.MinInterval.Minutes() < 1 {
|
|
log.Warn("Mirror.MinInterval is too low, set to 1 minute")
|
|
Mirror.MinInterval = 1 * time.Minute
|
|
}
|
|
if Mirror.DefaultInterval < Mirror.MinInterval {
|
|
Mirror.DefaultInterval = max(time.Hour*8, Mirror.MinInterval)
|
|
log.Warn("Mirror.DefaultInterval is less than Mirror.MinInterval, set to %s", Mirror.DefaultInterval.String())
|
|
}
|
|
}
|