mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 03:10:20 +00:00 
			
		
		
		
	fix wiki bugs (#1294)
This commit is contained in:
		@@ -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"
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user