- Migrate: #2704 #2653 - Clone: #2701 - Mirror, Pulltags/v1.21.12.1
| @@ -3,7 +3,7 @@ Gogs - Go Git Service [ |  | ||||
| ##### Current version: 0.8.48 | |||||
| ##### Current version: 0.8.49 | |||||
| | Web | UI | Preview | | | Web | UI | Preview | | ||||
| |:-------------:|:-------:|:-------:| | |:-------------:|:-------:|:-------:| | ||||
| @@ -88,7 +88,7 @@ func checkVersion() { | |||||
| {"github.com/go-macaron/toolbox", toolbox.Version, "0.1.0"}, | {"github.com/go-macaron/toolbox", toolbox.Version, "0.1.0"}, | ||||
| {"gopkg.in/ini.v1", ini.Version, "1.8.4"}, | {"gopkg.in/ini.v1", ini.Version, "1.8.4"}, | ||||
| {"gopkg.in/macaron.v1", macaron.Version, "0.8.0"}, | {"gopkg.in/macaron.v1", macaron.Version, "0.8.0"}, | ||||
| {"github.com/gogits/git-module", git.Version, "0.2.7"}, | |||||
| {"github.com/gogits/git-module", git.Version, "0.2.8"}, | |||||
| {"github.com/gogits/go-gogs-client", gogs.Version, "0.7.3"}, | {"github.com/gogits/go-gogs-client", gogs.Version, "0.7.3"}, | ||||
| } | } | ||||
| for _, c := range checkers { | for _, c := range checkers { | ||||
| @@ -331,6 +331,13 @@ MAX_GIT_DIFF_LINES = 10000 | |||||
| ; see more on http://git-scm.com/docs/git-gc/1.7.5 | ; see more on http://git-scm.com/docs/git-gc/1.7.5 | ||||
| GC_ARGS = | GC_ARGS = | ||||
| ; Operation timeout in seconds | |||||
| [git.timeout] | |||||
| MIGRATE = 600 | |||||
| MIRROR = 300 | |||||
| CLONE = 300 | |||||
| PULL = 300 | |||||
| [i18n] | [i18n] | ||||
| LANGS = en-US,zh-CN,zh-HK,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT | LANGS = en-US,zh-CN,zh-HK,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT | ||||
| NAMES = English,简体中文,繁體中文,Deutsch,Français,Nederlands,Latviešu,Русский,日本語,Español,Português do Brasil,Polski,български,Italiano | NAMES = English,简体中文,繁體中文,Deutsch,Français,Nederlands,Latviešu,Русский,日本語,Español,Português do Brasil,Polski,български,Italiano | ||||
| @@ -17,7 +17,7 @@ import ( | |||||
| "github.com/gogits/gogs/modules/setting" | "github.com/gogits/gogs/modules/setting" | ||||
| ) | ) | ||||
| const APP_VER = "0.8.48.0229" | |||||
| const APP_VER = "0.8.49.0229" | |||||
| func init() { | func init() { | ||||
| runtime.GOMAXPROCS(runtime.NumCPU()) | runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
| @@ -367,11 +367,16 @@ func (repo *Repository) LocalCopyPath() string { | |||||
| func updateLocalCopy(repoPath, localPath string) error { | func updateLocalCopy(repoPath, localPath string) error { | ||||
| if !com.IsExist(localPath) { | if !com.IsExist(localPath) { | ||||
| if err := git.Clone(repoPath, localPath, git.CloneRepoOptions{}); err != nil { | |||||
| if err := git.Clone(repoPath, localPath, git.CloneRepoOptions{ | |||||
| Timeout: time.Duration(setting.Git.Timeout.Clone) * time.Second, | |||||
| }); err != nil { | |||||
| return fmt.Errorf("Clone: %v", err) | return fmt.Errorf("Clone: %v", err) | ||||
| } | } | ||||
| } else { | } else { | ||||
| if err := git.Pull(localPath, true); err != nil { | |||||
| if err := git.Pull(localPath, git.PullRemoteOptions{ | |||||
| All: true, | |||||
| Timeout: time.Duration(setting.Git.Timeout.Pull) * time.Second, | |||||
| }); err != nil { | |||||
| return fmt.Errorf("Pull: %v", err) | return fmt.Errorf("Pull: %v", err) | ||||
| } | } | ||||
| } | } | ||||
| @@ -652,7 +657,7 @@ func MigrateRepository(u *User, opts MigrateRepoOptions) (*Repository, error) { | |||||
| if err = git.Clone(opts.RemoteAddr, repoPath, git.CloneRepoOptions{ | if err = git.Clone(opts.RemoteAddr, repoPath, git.CloneRepoOptions{ | ||||
| Mirror: true, | Mirror: true, | ||||
| Quiet: true, | Quiet: true, | ||||
| Timeout: 10 * time.Minute, | |||||
| Timeout: time.Duration(setting.Git.Timeout.Migrate) * time.Second, | |||||
| }); err != nil { | }); err != nil { | ||||
| return repo, fmt.Errorf("Clone: %v", err) | return repo, fmt.Errorf("Clone: %v", err) | ||||
| } | } | ||||
| @@ -1610,7 +1615,8 @@ func MirrorUpdate() { | |||||
| } | } | ||||
| repoPath := m.Repo.RepoPath() | repoPath := m.Repo.RepoPath() | ||||
| if _, stderr, err := process.ExecDir(10*time.Minute, | |||||
| if _, stderr, err := process.ExecDir( | |||||
| time.Duration(setting.Git.Timeout.Mirror)*time.Second, | |||||
| repoPath, fmt.Sprintf("MirrorUpdate: %s", repoPath), | repoPath, fmt.Sprintf("MirrorUpdate: %s", repoPath), | ||||
| "git", "remote", "update", "--prune"); err != nil { | "git", "remote", "update", "--prune"); err != nil { | ||||
| desc := fmt.Sprintf("Fail to update mirror repository(%s): %s", repoPath, stderr) | desc := fmt.Sprintf("Fail to update mirror repository(%s): %s", repoPath, stderr) | ||||
| @@ -163,6 +163,12 @@ var ( | |||||
| Git struct { | Git struct { | ||||
| MaxGitDiffLines int | MaxGitDiffLines int | ||||
| GcArgs []string `delim:" "` | GcArgs []string `delim:" "` | ||||
| Timeout struct { | |||||
| Migrate int | |||||
| Mirror int | |||||
| Clone int | |||||
| Pull int | |||||
| } `ini:"git.timeout"` | |||||
| } | } | ||||
| // Cron tasks | // Cron tasks | ||||
| @@ -1 +1 @@ | |||||
| 0.8.48.0229 | |||||
| 0.8.49.0229 | |||||