]> source.dussan.org Git - gitea.git/commitdiff
500 when wiki not exists
authorUnknwon <u@gogs.io>
Thu, 3 Dec 2015 07:08:25 +0000 (02:08 -0500)
committerUnknwon <u@gogs.io>
Thu, 3 Dec 2015 07:08:25 +0000 (02:08 -0500)
models/repo.go

index c16a96f110d0af4365eb578e5d4588b8185c375b..772551db884e368f67f4dfcb38a858446c7b3e54 100644 (file)
@@ -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) {