Fixed collision error on rename repository or user
| | |
| | | - added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.
|
| | | - fixed: federation protocol timestamps. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard.
|
| | | **This breaks 0.6.0 federation clients/servers.**
|
| | | - fixed: collision on rename for repositories and users
|
| | | - fixed: Gitblit can now browse the Linux kernel repository (issue 25)
|
| | | - fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8) (issue 23)
|
| | | - fixed: Set the RSS content type for Firefox 4 (issue 22)
|
| | |
| | | - added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.
|
| | | - fixed: federation protocol timestamps. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard.
|
| | | **This breaks 0.6.0 federation clients/servers.**
|
| | | - fixed: collision on rename for repositories and users
|
| | | - fixed: Gitblit can now browse the Linux kernel repository (issue 25)
|
| | | - fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8) (issue 23)
|
| | | - fixed: Set the RSS content type for Firefox 4 (issue 22)
|
| | |
| | | */
|
| | | public void updateUserModel(String username, UserModel user, boolean isCreate)
|
| | | throws GitBlitException {
|
| | | if (!username.equalsIgnoreCase(user.username)) {
|
| | | if (userService.getUserModel(user.username) != null) {
|
| | | throw new GitBlitException(
|
| | | MessageFormat
|
| | | .format("Failed to rename ''{0}'' because ''{1}'' already exists.",
|
| | | username, user.username));
|
| | | }
|
| | | }
|
| | | if (!userService.updateUserModel(username, user)) {
|
| | | throw new GitBlitException(isCreate ? "Failed to add user!" : "Failed to update user!");
|
| | | }
|
| | |
| | | } else {
|
| | | // rename repository
|
| | | if (!repositoryName.equalsIgnoreCase(repository.name)) {
|
| | | if (!repository.name.toLowerCase().endsWith(
|
| | | org.eclipse.jgit.lib.Constants.DOT_GIT_EXT)) {
|
| | | repository.name += org.eclipse.jgit.lib.Constants.DOT_GIT_EXT;
|
| | | }
|
| | | if (new File(repositoriesFolder, repository.name).exists()) {
|
| | | throw new GitBlitException(
|
| | | MessageFormat
|
| | | .format("Failed to rename ''{0}'' because ''{1}'' already exists.",
|
| | | repositoryName, repository.name));
|
| | | }
|
| | | closeRepository(repositoryName);
|
| | | File folder = new File(repositoriesFolder, repositoryName);
|
| | | File destFolder = new File(repositoriesFolder, repository.name);
|
| | |
| | |
|
| | | private static final long serialVersionUID = 1L;
|
| | |
|
| | | private final String repositoryName;
|
| | |
|
| | | private final RepositoryModel repository;
|
| | |
|
| | | private boolean isCreate;
|
| | |
| | |
|
| | | public EditRepositoryDialog(RepositoryModel aRepository) {
|
| | | super();
|
| | | this.repositoryName = aRepository.name;
|
| | | this.repository = new RepositoryModel();
|
| | | this.repositoryNames = new HashSet<String>();
|
| | | this.isCreate = false;
|
| | |
| | | setTitle(Translation.get("gb.edit") + ": " + aRepository.name);
|
| | | setIconImage(new ImageIcon(getClass().getResource("/gitblt-favicon.png")).getImage());
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | protected JRootPane createRootPane() {
|
| | | KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
|
| | |
| | | fieldsPanel
|
| | | .add(newFieldPanel(Translation.get("gb.showRemoteBranches"), showRemoteBranches));
|
| | | fieldsPanel.add(newFieldPanel(Translation.get("gb.showReadme"), showReadme));
|
| | | fieldsPanel.add(newFieldPanel(Translation.get("gb.skipSizeCalculation"), skipSizeCalculation));
|
| | | fieldsPanel.add(newFieldPanel(Translation.get("gb.skipSizeCalculation"),
|
| | | skipSizeCalculation));
|
| | | fieldsPanel.add(newFieldPanel(Translation.get("gb.isFrozen"), isFrozen));
|
| | |
|
| | | usersPalette = new JPalette<String>();
|
| | |
| | | "Can not create repository ''{0}'' because it already exists.", rname));
|
| | | return false;
|
| | | }
|
| | | } else {
|
| | | // check rename collision
|
| | | if (!repositoryName.equalsIgnoreCase(rname)) {
|
| | | if (repositoryNames.contains(rname.toLowerCase())) {
|
| | | error(MessageFormat.format(
|
| | | "Failed to rename ''{0}'' because ''{1}'' already exists.",
|
| | | repositoryName, rname));
|
| | | return false;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | if (accessRestriction.getSelectedItem() == null) {
|
| | |
| | |
|
| | | private static final long serialVersionUID = 1L;
|
| | |
|
| | | private final String username;
|
| | |
|
| | | private final UserModel user;
|
| | |
|
| | | private final ServerSettings settings;
|
| | |
| | |
|
| | | public EditUserDialog(UserModel anUser, ServerSettings settings) {
|
| | | super();
|
| | | this.username = anUser.username;
|
| | | this.user = new UserModel("");
|
| | | this.settings = settings;
|
| | | this.usernames = new HashSet<String>();
|
| | |
| | | error(MessageFormat.format("Username ''{0}'' is unavailable.", uname));
|
| | | return false;
|
| | | }
|
| | | } else {
|
| | | // check rename collision
|
| | | if (!username.equalsIgnoreCase(uname)) {
|
| | | if (usernames.contains(uname.toLowerCase())) {
|
| | | error(MessageFormat.format(
|
| | | "Failed to rename ''{0}'' because ''{1}'' already exists.", username,
|
| | | uname));
|
| | | return false;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | int minLength = settings.get(Keys.realm.minPasswordLength).getInteger(5);
|
| | |
| | | List<String> usernames = gitblit.getUsernames();
|
| | | List<String> members = gitblit.getPermittedUsernames(repository);
|
| | | dialog.setUsers(repository.owner, usernames, members);
|
| | | dialog.setRepositories(gitblit.getRepositories());
|
| | | dialog.setFederationSets(gitblit.getFederationSets(), repository.federationSets);
|
| | | dialog.setVisible(true);
|
| | | final RepositoryModel revisedRepository = dialog.getRepository();
|
| | |
| | | protected void editUser(final UserModel user) {
|
| | | EditUserDialog dialog = new EditUserDialog(user, gitblit.getSettings());
|
| | | dialog.setLocationRelativeTo(GitblitPanel.this);
|
| | | dialog.setUsers(gitblit.getUsers());
|
| | | dialog.setRepositories(gitblit.getRepositories(), new ArrayList<String>(user.repositories));
|
| | | dialog.setVisible(true);
|
| | | final UserModel revisedUser = dialog.getUser();
|