From cb100c7781699dec7987d349590411917d3dff44 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sat, 31 Oct 2015 23:18:58 -0400 Subject: [PATCH] work #1705 --- conf/locale/TRANSLATORS | 4 ++- gogs.go | 2 +- models/migrations/migrations.go | 43 +++++++++++++++++++++++++++++++++ templates/.VERSION | 2 +- 4 files changed, 48 insertions(+), 3 deletions(-) diff --git a/conf/locale/TRANSLATORS b/conf/locale/TRANSLATORS index 7c6eb0baf1..8e6cbc2ec2 100644 --- a/conf/locale/TRANSLATORS +++ b/conf/locale/TRANSLATORS @@ -17,4 +17,6 @@ Luc Stepniewski Miguel de la Cruz Marc Schiller Morten Sørensen -Natan Albuquerque \ No newline at end of file +Natan Albuquerque +Odilon Junior +YJSoft \ No newline at end of file diff --git a/gogs.go b/gogs.go index 420bb3a6dd..3d46bb955a 100644 --- a/gogs.go +++ b/gogs.go @@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.6.19.1031 Beta" +const APP_VER = "0.6.20.1031 Beta" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index c3f7a59be9..df1e4a2d2e 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -11,6 +11,7 @@ import ( "io/ioutil" "os" "path" + "path/filepath" "strings" "time" @@ -66,6 +67,7 @@ var migrations = []Migration{ NewMigration("generate issue-label from issue", issueToIssueLabel), // V6 -> V7:v0.6.4 NewMigration("refactor attachment table", attachmentRefactor), // V7 -> V8:v0.6.4 NewMigration("rename pull request fields", renamePullRequestFields), // V8 -> V9:v0.6.16 + NewMigration("clean up migrate repo info", cleanUpMigrateRepoInfo), // V9 -> V10:v0.6.20 } // Migrate database to current version @@ -653,3 +655,44 @@ func renamePullRequestFields(x *xorm.Engine) (err error) { return sess.Commit() } + +func cleanUpMigrateRepoInfo(x *xorm.Engine) (err error) { + type ( + User struct { + ID int64 `xorm:"pk autoincr"` + LowerName string + } + Repository struct { + ID int64 `xorm:"pk autoincr"` + OwnerID int64 + LowerName string + } + ) + + repos := make([]*Repository, 0, 25) + if err = x.Where("is_mirror=?", false).Find(&repos); err != nil { + return fmt.Errorf("select all non-mirror repositories: %v", err) + } + var user *User + for _, repo := range repos { + user = &User{ID: repo.OwnerID} + has, err := x.Get(user) + if err != nil { + return fmt.Errorf("get owner of repository[%d - %d]: %v", repo.ID, repo.OwnerID, err) + } else if !has { + continue + } + + configPath := filepath.Join(setting.RepoRootPath, user.LowerName, repo.LowerName+".git/config") + cfg, err := ini.Load(configPath) + if err != nil { + return fmt.Errorf("open config file: %v", err) + } + cfg.DeleteSection("remote \"origin\"") + if err = cfg.SaveToIndent(configPath, "\t"); err != nil { + return fmt.Errorf("save config file: %v", err) + } + } + + return nil +} diff --git a/templates/.VERSION b/templates/.VERSION index 621edbbe45..51973bc445 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.6.19.1031 Beta \ No newline at end of file +0.6.20.1031 Beta \ No newline at end of file