Minor fixes for #2746
This commit is contained in:
		
							parent
							
								
									4d5911dbcf
								
							
						
					
					
						commit
						9df6ce48c5
					
				
					 8 changed files with 937 additions and 723 deletions
				
			
		|  | @ -3,7 +3,7 @@ Gogs - Go Git Service [ |  | ||||||
| 
 | 
 | ||||||
| ##### Current version: 0.8.55 | ##### Current version: 0.8.56 | ||||||
| 
 | 
 | ||||||
| | Web | UI  | Preview  | | | Web | UI  | Preview  | | ||||||
| |:-------------:|:-------:|:-------:| | |:-------------:|:-------:|:-------:| | ||||||
|  |  | ||||||
|  | @ -495,7 +495,7 @@ func runWeb(ctx *cli.Context) { | ||||||
| 					Post(bindIgnErr(auth.NewWikiForm{}), repo.NewWikiPost) | 					Post(bindIgnErr(auth.NewWikiForm{}), repo.NewWikiPost) | ||||||
| 				m.Combo("/:page/_edit").Get(repo.EditWiki). | 				m.Combo("/:page/_edit").Get(repo.EditWiki). | ||||||
| 					Post(bindIgnErr(auth.NewWikiForm{}), repo.EditWikiPost) | 					Post(bindIgnErr(auth.NewWikiForm{}), repo.EditWikiPost) | ||||||
| 				m.Post("/:page/delete", bindIgnErr(auth.NewWikiForm{}), repo.DeleteWikiPagePost) | 				m.Post("/:page/delete", repo.DeleteWikiPagePost) | ||||||
| 			}, reqSignIn, reqRepoPusher) | 			}, reqSignIn, reqRepoPusher) | ||||||
| 		}, repo.MustEnableWiki, middleware.RepoRef()) | 		}, repo.MustEnableWiki, middleware.RepoRef()) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| 	# This file lists all PUBLIC individuals having contributed content to the translation. | # This file lists all PUBLIC individuals having contributed content to the translation. | ||||||
| # Entries are in alphabetical order. | # Entries are in alphabetical order. | ||||||
| 
 | 
 | ||||||
| Adam Strzelecki <ono AT java DOT pl> | Adam Strzelecki <ono AT java DOT pl> | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							|  | @ -17,7 +17,7 @@ import ( | ||||||
| 	"github.com/gogits/gogs/modules/setting" | 	"github.com/gogits/gogs/modules/setting" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| const APP_VER = "0.8.55.0304" | const APP_VER = "0.8.56.0304" | ||||||
| 
 | 
 | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|  |  | ||||||
|  | @ -7,12 +7,12 @@ package models | ||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io/ioutil" | 	"io/ioutil" | ||||||
|  | 	"net/url" | ||||||
| 	"os" | 	"os" | ||||||
| 	"path" | 	"path" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"sync" | 	"sync" | ||||||
| 	"net/url" |  | ||||||
| 
 | 
 | ||||||
| 	"github.com/Unknwon/com" | 	"github.com/Unknwon/com" | ||||||
| 
 | 
 | ||||||
|  | @ -116,6 +116,23 @@ func (repo *Repository) UpdateLocalWiki() error { | ||||||
| 	return updateLocalCopy(repo.WikiPath(), repo.LocalWikiPath()) | 	return updateLocalCopy(repo.WikiPath(), repo.LocalWikiPath()) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // discardLocalWikiChanges discards local commits make sure
 | ||||||
|  | // it is even to remote branch when local copy exists.
 | ||||||
|  | func discardLocalWikiChanges(localPath string) error { | ||||||
|  | 	if !com.IsExist(localPath) { | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
|  | 	// No need to check if nothing in the repository.
 | ||||||
|  | 	if !git.IsBranchExist(localPath, "master") { | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if err := git.ResetHEAD(localPath, true, "origin/master"); err != nil { | ||||||
|  | 		return fmt.Errorf("ResetHEAD: %v", err) | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // updateWikiPage adds new page to repository wiki.
 | // updateWikiPage adds new page to repository wiki.
 | ||||||
| func (repo *Repository) updateWikiPage(doer *User, oldTitle, title, content, message string, isNew bool) (err error) { | func (repo *Repository) updateWikiPage(doer *User, oldTitle, title, content, message string, isNew bool) (err error) { | ||||||
| 	wikiWorkingPool.CheckIn(com.ToStr(repo.ID)) | 	wikiWorkingPool.CheckIn(com.ToStr(repo.ID)) | ||||||
|  | @ -126,18 +143,9 @@ func (repo *Repository) updateWikiPage(doer *User, oldTitle, title, content, mes | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	localPath := repo.LocalWikiPath() | 	localPath := repo.LocalWikiPath() | ||||||
| 
 | 	if err = discardLocalWikiChanges(localPath); err != nil { | ||||||
| 	// Discard local commits make sure even to remote when local copy exists.
 | 		return fmt.Errorf("discardLocalWikiChanges: %v", err) | ||||||
| 	if com.IsExist(localPath) { | 	} else if err = repo.UpdateLocalWiki(); err != nil { | ||||||
| 		// No need to check if nothing in the repository.
 |  | ||||||
| 		if git.IsBranchExist(localPath, "master") { |  | ||||||
| 			if err = git.ResetHEAD(localPath, true, "origin/master"); err != nil { |  | ||||||
| 				return fmt.Errorf("Reset: %v", err) |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if err = repo.UpdateLocalWiki(); err != nil { |  | ||||||
| 		return fmt.Errorf("UpdateLocalWiki: %v", err) | 		return fmt.Errorf("UpdateLocalWiki: %v", err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | @ -184,23 +192,14 @@ func (repo *Repository) DeleteWikiPage(doer *User, title string) (err error) { | ||||||
| 	defer wikiWorkingPool.CheckOut(com.ToStr(repo.ID)) | 	defer wikiWorkingPool.CheckOut(com.ToStr(repo.ID)) | ||||||
| 
 | 
 | ||||||
| 	localPath := repo.LocalWikiPath() | 	localPath := repo.LocalWikiPath() | ||||||
| 
 | 	if err = discardLocalWikiChanges(localPath); err != nil { | ||||||
| 	// Discard local commits make sure even to remote when local copy exists.
 | 		return fmt.Errorf("discardLocalWikiChanges: %v", err) | ||||||
| 	if com.IsExist(localPath) { | 	} else if err = repo.UpdateLocalWiki(); err != nil { | ||||||
| 		// No need to check if nothing in the repository.
 |  | ||||||
| 		if git.IsBranchExist(localPath, "master") { |  | ||||||
| 			if err = git.ResetHEAD(localPath, true, "origin/master"); err != nil { |  | ||||||
| 				return fmt.Errorf("Reset: %v", err) |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if err = repo.UpdateLocalWiki(); err != nil { |  | ||||||
| 		return fmt.Errorf("UpdateLocalWiki: %v", err) | 		return fmt.Errorf("UpdateLocalWiki: %v", err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	title = ToWikiPageName(strings.Replace(title, "/", " ", -1)) | ||||||
| 	filename := path.Join(localPath, title+".md") | 	filename := path.Join(localPath, title+".md") | ||||||
| 
 |  | ||||||
| 	os.Remove(filename) | 	os.Remove(filename) | ||||||
| 
 | 
 | ||||||
| 	message := "Delete page '" + title + "'" | 	message := "Delete page '" + title + "'" | ||||||
|  |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -257,14 +257,13 @@ func EditWikiPost(ctx *middleware.Context, form auth.NewWikiForm) { | ||||||
| 	ctx.Redirect(ctx.Repo.RepoLink + "/wiki/" + models.ToWikiPageURL(form.Title)) | 	ctx.Redirect(ctx.Repo.RepoLink + "/wiki/" + models.ToWikiPageURL(form.Title)) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func DeleteWikiPagePost(ctx *middleware.Context, form auth.NewWikiForm) { | func DeleteWikiPagePost(ctx *middleware.Context) { | ||||||
| 	pageURL := ctx.Params(":page") | 	pageURL := ctx.Params(":page") | ||||||
| 	if len(pageURL) == 0 { | 	if len(pageURL) == 0 { | ||||||
| 		pageURL = "Home" | 		pageURL = "Home" | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	pageName := models.ToWikiPageName(pageURL) | 	pageName := models.ToWikiPageName(pageURL) | ||||||
| 
 |  | ||||||
| 	if err := ctx.Repo.Repository.DeleteWikiPage(ctx.User, pageName); err != nil { | 	if err := ctx.Repo.Repository.DeleteWikiPage(ctx.User, pageName); err != nil { | ||||||
| 		ctx.Handle(500, "DeleteWikiPage", err) | 		ctx.Handle(500, "DeleteWikiPage", err) | ||||||
| 		return | 		return | ||||||
|  |  | ||||||
|  | @ -1 +1 @@ | ||||||
| 0.8.55.0304 | 0.8.56.0304 | ||||||
		Loading…
	
		Reference in a new issue