James Moger
2012-10-10 17363c3957dab02bf8a5ab3a89dcace147c4f20e
Fixed bug where repository ownership was not updated on rename user
2 files modified
17 ■■■■■ changed files
docs/04_releases.mkd 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/GitBlit.java 16 ●●●●● patch | view | raw | blame | history
docs/04_releases.mkd
@@ -11,6 +11,7 @@
#### fixes
- Fixed bug where repository ownership was not updated on rename user
- Fixed bug in create/rename repository if you explicitly specified the alias for the root group (e.g. main/myrepo) (issue 143)
- Wrapped Markdown parser with improved exception handler (issue 142)
- Fixed duplicate entries in repository cache (issue 140)
src/com/gitblit/GitBlit.java
@@ -642,6 +642,22 @@
                        "Failed to rename ''{0}'' because ''{1}'' already exists.", username,
                        user.username));
            }
            // rename repositories and owner fields for all repositories
            for (RepositoryModel model : getRepositoryModels(user)) {
                if (model.isUsersPersonalRepository(username)) {
                    // personal repository
                    model.owner = user.username;
                    String oldRepositoryName = model.name;
                    model.name = "~" + user.username + model.name.substring(model.projectPath.length());
                    model.projectPath = "~" + user.username;
                    updateRepositoryModel(oldRepositoryName, model, false);
                } else if (model.isOwner(username)) {
                    // common/shared repo
                    model.owner = user.username;
                    updateRepositoryModel(model.name, model, false);
                }
            }
        }
        if (!userService.updateUserModel(username, user)) {
            throw new GitBlitException(isCreate ? "Failed to add user!" : "Failed to update user!");