Able to fork repo to individuals

This commit is contained in:
Unknwon 2014-10-19 01:35:24 -04:00
parent d7d167ac63
commit a342d58d7e
12 changed files with 305 additions and 210 deletions

View file

@ -110,7 +110,7 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{
"List": List,
"Mail2Domain": func(mail string) string {
if !strings.Contains(mail, "@") {
return "try.gogits.org"
return "try.gogs.io"
}
suffix := strings.SplitN(mail, "@", 2)[1]
@ -121,7 +121,17 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{
return domain
},
"SubStr": func(str string, start, length int) string {
return str[start : start+length]
if len(str) == 0 {
return ""
}
end := start + length
if length == -1 {
end = len(str)
}
if len(str) < end {
return str
}
return str[start:end]
},
"DiffTypeToStr": DiffTypeToStr,
"DiffLineTypeToStr": DiffLineTypeToStr,

View file

@ -160,7 +160,11 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
return
}
ctx.Repo.GitRepo = gitRepo
ctx.Repo.RepoLink = setting.AppSubUrl + "/" + u.Name + "/" + repo.Name
ctx.Repo.RepoLink, err = repo.RepoLink()
if err != nil {
ctx.Handle(500, "RepoLink", err)
return
}
ctx.Data["RepoLink"] = ctx.Repo.RepoLink
tags, err := ctx.Repo.GitRepo.GetTags()
@ -171,6 +175,12 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
ctx.Data["Tags"] = tags
ctx.Repo.Repository.NumTags = len(tags)
// Non-fork repository will not return error in this method.
if err = repo.GetForkRepo(); err != nil {
ctx.Handle(500, "GetForkRepo", err)
return
}
ctx.Data["Title"] = u.Name + "/" + repo.Name
ctx.Data["Repository"] = repo
ctx.Data["Owner"] = ctx.Repo.Repository.Owner