From 30f9d25d77ccb5cd978d4cf8fa389ec819e90e95 Mon Sep 17 00:00:00 2001 From: Philip L. McMahon <philip.l.mcmahon@gmail.com> Date: Fri, 27 Jan 2012 02:02:19 -0500 Subject: [PATCH] Correct update of HEAD symbolic reference when target is a tag. --- src/com/gitblit/wicket/pages/EditRepositoryPage.java | 39 ++++++++++++++++++++++++++++++++------- 1 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java index f595053..6c04249 100644 --- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java +++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java @@ -45,11 +45,14 @@ import com.gitblit.GitBlit; import com.gitblit.GitBlitException; import com.gitblit.Keys; +import com.gitblit.models.RefModel; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; +import com.gitblit.utils.ArrayUtils; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.WicketUtils; +import com.gitblit.wicket.panels.BulletListPanel; public class EditRepositoryPage extends RootSubPage { @@ -115,22 +118,22 @@ new ChoiceRenderer<String>("", ""), 5, false); // pre-receive palette - if (repositoryModel.preReceiveScripts != null) { + if (!ArrayUtils.isEmpty(repositoryModel.preReceiveScripts)) { preReceiveScripts.addAll(repositoryModel.preReceiveScripts); } final Palette<String> preReceivePalette = new Palette<String>("preReceiveScripts", new ListModel<String>(preReceiveScripts), new CollectionModel<String>(GitBlit - .self().getAvailableScripts()), new ChoiceRenderer<String>("", ""), 12, - true); + .self().getPreReceiveScriptsUnused(repositoryModel)), + new ChoiceRenderer<String>("", ""), 12, true); // post-receive palette - if (repositoryModel.postReceiveScripts != null) { + if (!ArrayUtils.isEmpty(repositoryModel.postReceiveScripts)) { postReceiveScripts.addAll(repositoryModel.postReceiveScripts); } final Palette<String> postReceivePalette = new Palette<String>("postReceiveScripts", new ListModel<String>(postReceiveScripts), new CollectionModel<String>(GitBlit - .self().getAvailableScripts()), new ChoiceRenderer<String>("", ""), 12, - true); + .self().getPostReceiveScriptsUnused(repositoryModel)), + new ChoiceRenderer<String>("", ""), 12, true); CompoundPropertyModel<RepositoryModel> model = new CompoundPropertyModel<RepositoryModel>( repositoryModel); @@ -269,6 +272,9 @@ form.add(new CheckBox("isFrozen")); // TODO enable origin definition form.add(new TextField<String>("origin").setEnabled(false/* isCreate */)); + // enable alteration of the default branch after clone + form.add(new DropDownChoice<RefModel>("defaultHead", repositoryModel.availableHeads, + new RefModelRenderer()).setEnabled(GitBlitWebSession.get().canAdmin())); // federation strategies - remove ORIGIN choice if this repository has // no origin. @@ -285,14 +291,18 @@ form.add(new CheckBox("showReadme")); form.add(new CheckBox("skipSizeCalculation")); form.add(new CheckBox("skipSummaryMetrics")); - mailingLists = new Model<String>(repositoryModel.mailingLists == null ? "" + mailingLists = new Model<String>(ArrayUtils.isEmpty(repositoryModel.mailingLists) ? "" : StringUtils.flattenStrings(repositoryModel.mailingLists, " ")); form.add(new TextField<String>("mailingLists", mailingLists)); form.add(usersPalette); form.add(teamsPalette); form.add(federationSetsPalette); form.add(preReceivePalette); + form.add(new BulletListPanel("inheritedPreReceive", "inherited", GitBlit.self() + .getPreReceiveScriptsInherited(repositoryModel))); form.add(postReceivePalette); + form.add(new BulletListPanel("inheritedPostReceive", "inherited", GitBlit.self() + .getPostReceiveScriptsInherited(repositoryModel))); form.add(new Button("save")); Button cancel = new Button("cancel") { @@ -355,6 +365,21 @@ } } + private class RefModelRenderer implements IChoiceRenderer<RefModel> { + + private static final long serialVersionUID = 1L; + + @Override + public String getDisplayValue(RefModel type) { + return type.displayName; + } + + @Override + public String getIdValue(RefModel type, int index) { + return type.getName(); + } + } + private class AccessRestrictionRenderer implements IChoiceRenderer<AccessRestrictionType> { private static final long serialVersionUID = 1L; -- Gitblit v1.9.1