diff options
author | Unknwon <u@gogs.io> | 2015-02-22 22:51:25 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-02-22 22:51:25 -0500 |
commit | 7ccab9cd09eca8fa60fdd519c97c259d4b521abd (patch) | |
tree | 914ea87da32fd27d889b2145f559c0fdad8c62af /routers/repo | |
parent | 25f5a8d7986a710cef01d02725071d2de0a6b143 (diff) | |
parent | 2369881808a906f3072c935ab0575f08bd358821 (diff) | |
download | gitea-7ccab9cd09eca8fa60fdd519c97c259d4b521abd.tar.gz gitea-7ccab9cd09eca8fa60fdd519c97c259d4b521abd.zip |
Merge branch 'dev' of github.com:gogits/gogs into access
Conflicts:
gogs.go
models/models.go
models/user.go
templates/.VERSION
templates/org/home.tmpl
Diffstat (limited to 'routers/repo')
-rw-r--r-- | routers/repo/repo.go | 28 | ||||
-rw-r--r-- | routers/repo/setting.go | 4 |
2 files changed, 19 insertions, 13 deletions
diff --git a/routers/repo/repo.go b/routers/repo/repo.go index 48f7b09bc0..dfd827bbb9 100644 --- a/routers/repo/repo.go +++ b/routers/repo/repo.go @@ -181,20 +181,26 @@ func MigratePost(ctx *middleware.Context, form auth.MigrateRepoForm) { } } - u, err := url.Parse(form.HttpsUrl) - - if err != nil || u.Scheme != "https" { - ctx.Data["Err_HttpsUrl"] = true - ctx.RenderWithErr(ctx.Tr("form.url_error"), MIGRATE, &form) + // Remote address can be HTTPS URL or local path. + remoteAddr := form.CloneAddr + if strings.HasPrefix(form.CloneAddr, "http") { + u, err := url.Parse(form.CloneAddr) + if err != nil { + ctx.Data["Err_CloneAddr"] = true + ctx.RenderWithErr(ctx.Tr("form.url_error"), MIGRATE, &form) + return + } + if len(form.AuthUserName) > 0 || len(form.AuthPasswd) > 0 { + u.User = url.UserPassword(form.AuthUserName, form.AuthPasswd) + } + remoteAddr = u.String() + } else if !com.IsDir(remoteAddr) { + ctx.Data["Err_CloneAddr"] = true + ctx.RenderWithErr(ctx.Tr("repo.migrate.invalid_local_path"), MIGRATE, &form) return } - if len(form.AuthUserName) > 0 || len(form.AuthPasswd) > 0 { - u.User = url.UserPassword(form.AuthUserName, form.AuthPasswd) - } - - repo, err := models.MigrateRepository(ctxUser, form.RepoName, form.Description, form.Private, - form.Mirror, u.String()) + repo, err := models.MigrateRepository(ctxUser, form.RepoName, form.Description, form.Private, form.Mirror, remoteAddr) if err == nil { log.Trace("Repository migrated: %s/%s", ctxUser.Name, form.RepoName) ctx.Redirect(setting.AppSubUrl + "/" + ctxUser.Name + "/" + form.RepoName) diff --git a/routers/repo/setting.go b/routers/repo/setting.go index a6f50d3068..0f8acfa5ba 100644 --- a/routers/repo/setting.go +++ b/routers/repo/setting.go @@ -8,6 +8,7 @@ import ( "encoding/json" "errors" "fmt" + "path" "strings" "time" @@ -83,7 +84,6 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) { ctx.Repo.Repository.Description = form.Description ctx.Repo.Repository.Website = form.Website ctx.Repo.Repository.IsPrivate = form.Private - ctx.Repo.Repository.IsGoget = form.GoGet if err := models.UpdateRepository(ctx.Repo.Repository); err != nil { ctx.Handle(404, "UpdateRepository", err) return @@ -109,7 +109,7 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) { } newOwner := ctx.Query("new_owner_name") - isExist, err := models.IsUserExist(newOwner) + isExist, err := models.IsUserExist(0, newOwner) if err != nil { ctx.Handle(500, "IsUserExist", err) return |