diff options
author | Unknwon <u@gogs.io> | 2016-02-05 14:11:53 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2016-02-05 14:11:53 -0500 |
commit | f8182ac5216153f9ac6dbfe31437b03ddadbf286 (patch) | |
tree | a18bc6c2e250fc4b39f85c0427ab3b5ddb9b21c3 /models/user.go | |
parent | 4e96a4a62b1bfbe07bc97e75478c1289f6b4d5a9 (diff) | |
download | gitea-f8182ac5216153f9ac6dbfe31437b03ddadbf286.tar.gz gitea-f8182ac5216153f9ac6dbfe31437b03ddadbf286.zip |
#2558 delete local wiki copy when rename repo and user
Diffstat (limited to 'models/user.go')
-rw-r--r-- | models/user.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/models/user.go b/models/user.go index 23ed5ae8d2..09ad74d76d 100644 --- a/models/user.go +++ b/models/user.go @@ -598,11 +598,19 @@ func ChangeUserName(u *User, newUserName string) (err error) { return ErrUserAlreadyExist{newUserName} } - err = ChangeUsernameInPullRequests(u.Name, newUserName) - if err != nil { + if err = ChangeUsernameInPullRequests(u.Name, newUserName); err != nil { return fmt.Errorf("ChangeUsernameInPullRequests: %v", err) } + // Delete all local copies of repository wiki that user owns. + if err = x.Where("owner_id=?", u.Id).Iterate(new(Repository), func(idx int, bean interface{}) error { + repo := bean.(*Repository) + RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath()) + return nil + }); err != nil { + return fmt.Errorf("Delete repository wiki local copy: %v", err) + } + return os.Rename(UserPath(u.Name), UserPath(newUserName)) } |