mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-01 05:36:19 +01:00
fix wiki bugs (#1294)
This commit is contained in:
parent
dbabc35e71
commit
bd8fe49076
2 changed files with 21 additions and 5 deletions
|
@ -84,7 +84,11 @@ func (repo *Repository) LocalWikiPath() string {
|
||||||
func (repo *Repository) UpdateLocalWiki() error {
|
func (repo *Repository) UpdateLocalWiki() error {
|
||||||
// Don't pass branch name here because it fails to clone and
|
// Don't pass branch name here because it fails to clone and
|
||||||
// checkout to a specific branch when wiki is an empty repository.
|
// checkout to a specific branch when wiki is an empty repository.
|
||||||
return UpdateLocalCopyBranch(repo.WikiPath(), repo.LocalWikiPath(), "")
|
var branch = ""
|
||||||
|
if com.IsExist(repo.LocalWikiPath()) {
|
||||||
|
branch = "master"
|
||||||
|
}
|
||||||
|
return UpdateLocalCopyBranch(repo.WikiPath(), repo.LocalWikiPath(), branch)
|
||||||
}
|
}
|
||||||
|
|
||||||
func discardLocalWikiChanges(localPath string) error {
|
func discardLocalWikiChanges(localPath string) error {
|
||||||
|
|
|
@ -177,6 +177,10 @@ func findWikiRepoCommit(ctx *context.Context) (*git.Repository, *git.Commit, err
|
||||||
// ctx.Handle(500, "OpenRepository", err)
|
// ctx.Handle(500, "OpenRepository", err)
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
if !wikiRepo.IsBranchExist("master") {
|
||||||
|
return wikiRepo, nil, nil
|
||||||
|
}
|
||||||
|
|
||||||
commit, err := wikiRepo.GetBranchCommit("master")
|
commit, err := wikiRepo.GetBranchCommit("master")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.Handle(500, "GetBranchCommit", err)
|
ctx.Handle(500, "GetBranchCommit", err)
|
||||||
|
@ -190,6 +194,9 @@ func renderWikiPage(ctx *context.Context, isViewPage bool) (*git.Repository, *gi
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
if commit == nil {
|
||||||
|
return wikiRepo, nil
|
||||||
|
}
|
||||||
|
|
||||||
// Get page list.
|
// Get page list.
|
||||||
if isViewPage {
|
if isViewPage {
|
||||||
|
@ -210,7 +217,7 @@ func renderWikiPage(ctx *context.Context, isViewPage bool) (*git.Repository, *gi
|
||||||
}
|
}
|
||||||
pages = append(pages, PageMeta{
|
pages = append(pages, PageMeta{
|
||||||
Name: models.ToWikiPageName(name),
|
Name: models.ToWikiPageName(name),
|
||||||
URL: models.ToWikiPageURL(name),
|
URL: name,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -308,6 +315,11 @@ func Wiki(ctx *context.Context) {
|
||||||
if ctx.Written() {
|
if ctx.Written() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if entry == nil {
|
||||||
|
ctx.Data["Title"] = ctx.Tr("repo.wiki")
|
||||||
|
ctx.HTML(200, tplWikiStart)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
ename := entry.Name()
|
ename := entry.Name()
|
||||||
if !markdown.IsMarkdownFile(ename) {
|
if !markdown.IsMarkdownFile(ename) {
|
||||||
|
@ -362,7 +374,7 @@ func WikiPages(ctx *context.Context) {
|
||||||
}
|
}
|
||||||
pages = append(pages, PageMeta{
|
pages = append(pages, PageMeta{
|
||||||
Name: models.ToWikiPageName(name),
|
Name: models.ToWikiPageName(name),
|
||||||
URL: models.ToWikiPageURL(name),
|
URL: name,
|
||||||
Updated: c.Author.When,
|
Updated: c.Author.When,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -480,7 +492,7 @@ func EditWikiPost(ctx *context.Context, form auth.NewWikiForm) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
oldWikiPath := ctx.Params(":page")
|
oldWikiPath := models.ToWikiPageURL(ctx.Params(":page"))
|
||||||
newWikiPath := models.ToWikiPageURL(form.Title)
|
newWikiPath := models.ToWikiPageURL(form.Title)
|
||||||
|
|
||||||
if err := ctx.Repo.Repository.EditWikiPage(ctx.User, oldWikiPath, newWikiPath, form.Content, form.Message); err != nil {
|
if err := ctx.Repo.Repository.EditWikiPage(ctx.User, oldWikiPath, newWikiPath, form.Content, form.Message); err != nil {
|
||||||
|
@ -493,7 +505,7 @@ func EditWikiPost(ctx *context.Context, form auth.NewWikiForm) {
|
||||||
|
|
||||||
// DeleteWikiPagePost delete wiki page
|
// DeleteWikiPagePost delete wiki page
|
||||||
func DeleteWikiPagePost(ctx *context.Context) {
|
func DeleteWikiPagePost(ctx *context.Context) {
|
||||||
pageURL := ctx.Params(":page")
|
pageURL := models.ToWikiPageURL(ctx.Params(":page"))
|
||||||
if len(pageURL) == 0 {
|
if len(pageURL) == 0 {
|
||||||
pageURL = "Home"
|
pageURL = "Home"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue