From 37a372f6f57d3c59364af2ed0fc21a58e31146d2 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 3 Dec 2015 02:08:25 -0500 Subject: [PATCH] 500 when wiki not exists --- models/repo.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/models/repo.go b/models/repo.go index c16a96f1..772551db 100644 --- a/models/repo.go +++ b/models/repo.go @@ -985,8 +985,13 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error { // Change repository directory name. if err = os.Rename(RepoPath(owner.Name, repo.Name), RepoPath(newOwner.Name, repo.Name)); err != nil { return fmt.Errorf("rename repository directory: %v", err) - } else if err = os.Rename(WikiPath(owner.Name, repo.Name), WikiPath(newOwner.Name, repo.Name)); err != nil { - return fmt.Errorf("rename repository wiki: %v", err) + } + + wikiPath := WikiPath(owner.Name, repo.Name) + if com.IsExist(wikiPath) { + if err = os.Rename(wikiPath, WikiPath(newOwner.Name, repo.Name)); err != nil { + return fmt.Errorf("rename repository wiki: %v", err) + } } return sess.Commit() @@ -1014,9 +1019,12 @@ func ChangeRepositoryName(u *User, oldRepoName, newRepoName string) (err error) wikiPath := WikiPath(u.Name, oldRepoName) if com.IsExist(wikiPath) { - err = os.Rename(WikiPath(u.Name, oldRepoName), WikiPath(u.Name, newRepoName)) + if err = os.Rename(wikiPath, WikiPath(u.Name, newRepoName)); err != nil { + return fmt.Errorf("rename repository wiki: %v", err) + } } - return err + + return nil } func getRepositoriesByForkID(e Engine, forkID int64) ([]*Repository, error) {