From 0b56272c130c88fc4441fb1cba04657fe73efc38 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Fri, 2 Jan 2015 13:30:45 +0800 Subject: [PATCH] fix #805 --- README.md | 2 +- README_ZH.md | 2 +- gogs.go | 2 +- models/repo.go | 20 +++++++++++++++++--- templates/.VERSION | 2 +- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 612f5172d..ce53a85e8 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Gogs(Go Git Service) is a painless self-hosted Git Service written in Go. ![Demo](https://gowalker.org/public/gogs_demo.gif) -##### Current version: 0.5.9 Beta +##### Current version: 0.5.11 Beta ### NOTICES diff --git a/README_ZH.md b/README_ZH.md index 643d54a78..a91b0ce57 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -5,7 +5,7 @@ Gogs(Go Git Service) 是一个基于 Go 语言的自助 Git 服务。 ![Demo](https://gowalker.org/public/gogs_demo.gif) -##### 当前版本:0.5.9 Beta +##### 当前版本:0.5.11 Beta ## 开发目的 diff --git a/gogs.go b/gogs.go index 0deb45858..abb4da4a9 100644 --- a/gogs.go +++ b/gogs.go @@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.5.10.0102 Beta" +const APP_VER = "0.5.11.0102 Beta" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/repo.go b/models/repo.go index 925f19948..77c4b140d 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1186,6 +1186,8 @@ func MirrorUpdate() { isMirrorUpdating = true defer func() { isMirrorUpdating = false }() + mirrors := make([]*Mirror, 0, 10) + if err := x.Iterate(new(Mirror), func(idx int, bean interface{}) error { m := bean.(*Mirror) if m.NextUpdate.After(time.Now()) { @@ -1196,13 +1198,25 @@ func MirrorUpdate() { if _, stderr, err := process.ExecDir(10*time.Minute, repoPath, fmt.Sprintf("MirrorUpdate: %s", repoPath), "git", "remote", "update"); err != nil { - return errors.New("git remote update: " + stderr) + desc := fmt.Sprintf("Fail to update mirror repository(%s): %s", repoPath, stderr) + log.Error(4, desc) + if err = CreateRepositoryNotice(desc); err != nil { + log.Error(4, "Fail to add notice: %v", err) + } + return nil } m.NextUpdate = time.Now().Add(time.Duration(m.Interval) * time.Hour) - return UpdateMirror(m) + mirrors = append(mirrors, m) + return nil }); err != nil { - log.Error(4, "repo.MirrorUpdate: %v", err) + log.Error(4, "MirrorUpdate: %v", err) + } + + for i := range mirrors { + if err := UpdateMirror(mirrors[i]); err != nil { + log.Error(4, "UpdateMirror", fmt.Sprintf("%s: %v", mirrors[i].RepoName, err)) + } } } diff --git a/templates/.VERSION b/templates/.VERSION index 2c20d8b2a..8d89a54a1 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.5.10.0102 Beta \ No newline at end of file +0.5.11.0102 Beta \ No newline at end of file