summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/gitblit/RpcServlet.java2
-rw-r--r--src/com/gitblit/client/EditRepositoryDialog.java18
-rw-r--r--src/com/gitblit/client/RepositoriesPanel.java2
-rw-r--r--src/com/gitblit/models/RepositoryModel.java14
-rw-r--r--src/com/gitblit/wicket/pages/EditRepositoryPage.java11
5 files changed, 36 insertions, 11 deletions
diff --git a/src/com/gitblit/RpcServlet.java b/src/com/gitblit/RpcServlet.java
index 2d513887..31ee5ad0 100644
--- a/src/com/gitblit/RpcServlet.java
+++ b/src/com/gitblit/RpcServlet.java
@@ -49,7 +49,7 @@ public class RpcServlet extends JsonServlet {
private static final long serialVersionUID = 1L;
- public static final int PROTOCOL_VERSION = 2;
+ public static final int PROTOCOL_VERSION = 3;
public RpcServlet() {
super();
diff --git a/src/com/gitblit/client/EditRepositoryDialog.java b/src/com/gitblit/client/EditRepositoryDialog.java
index 4d3485df..5c746cc1 100644
--- a/src/com/gitblit/client/EditRepositoryDialog.java
+++ b/src/com/gitblit/client/EditRepositoryDialog.java
@@ -105,6 +105,8 @@ public class EditRepositoryDialog extends JDialog {
private JPalette<String> setsPalette;
private JPalette<String> teamsPalette;
+
+ private JPalette<String> indexedBranchesPalette;
private JPalette<String> preReceivePalette;
@@ -258,6 +260,12 @@ public class EditRepositoryDialog extends JDialog {
.add(newFieldPanel(Translation.get("gb.federationSets"),
setsPalette), BorderLayout.CENTER);
+ indexedBranchesPalette = new JPalette<String>();
+ JPanel indexedBranchesPanel = new JPanel(new BorderLayout(5, 5));
+ indexedBranchesPanel
+ .add(newFieldPanel(Translation.get("gb.indexedBranches"),
+ indexedBranchesPalette), BorderLayout.CENTER);
+
preReceivePalette = new JPalette<String>(true);
preReceiveInherited = new JLabel();
JPanel preReceivePanel = new JPanel(new BorderLayout(5, 5));
@@ -277,6 +285,9 @@ public class EditRepositoryDialog extends JDialog {
panel.addTab(Translation.get("gb.teams"), teamsPanel);
}
panel.addTab(Translation.get("gb.federation"), federationPanel);
+ if (protocolVersion >= 3) {
+ panel.addTab(Translation.get("gb.indexedBranches"), indexedBranchesPanel);
+ }
panel.addTab(Translation.get("gb.preReceiveScripts"), preReceivePanel);
panel.addTab(Translation.get("gb.postReceiveScripts"), postReceivePanel);
@@ -433,7 +444,8 @@ public class EditRepositoryDialog extends JDialog {
if (repository.federationStrategy.exceeds(FederationStrategy.EXCLUDE)) {
repository.federationSets = setsPalette.getSelections();
}
-
+
+ repository.indexedBranches = indexedBranchesPalette.getSelections();
repository.preReceiveScripts = preReceivePalette.getSelections();
repository.postReceiveScripts = postReceivePalette.getSelections();
return true;
@@ -470,6 +482,10 @@ public class EditRepositoryDialog extends JDialog {
public void setFederationSets(List<String> all, List<String> selected) {
setsPalette.setObjects(all, selected);
}
+
+ public void setIndexedBranches(List<String> all, List<String> selected) {
+ indexedBranchesPalette.setObjects(all, selected);
+ }
public void setPreReceiveScripts(List<String> all, List<String> inherited,
List<String> selected) {
diff --git a/src/com/gitblit/client/RepositoriesPanel.java b/src/com/gitblit/client/RepositoriesPanel.java
index 104010d5..0643b60b 100644
--- a/src/com/gitblit/client/RepositoriesPanel.java
+++ b/src/com/gitblit/client/RepositoriesPanel.java
@@ -357,6 +357,7 @@ public abstract class RepositoriesPanel extends JPanel {
dialog.setTeams(gitblit.getTeamnames(), null);
dialog.setRepositories(gitblit.getRepositories());
dialog.setFederationSets(gitblit.getFederationSets(), null);
+ dialog.setIndexedBranches(new ArrayList<String>(), null);
dialog.setPreReceiveScripts(gitblit.getPreReceiveScriptsUnused(null),
gitblit.getPreReceiveScriptsInherited(null), null);
dialog.setPostReceiveScripts(gitblit.getPostReceiveScriptsUnused(null),
@@ -419,6 +420,7 @@ public abstract class RepositoriesPanel extends JPanel {
dialog.setTeams(gitblit.getTeamnames(), gitblit.getPermittedTeamnames(repository));
dialog.setRepositories(gitblit.getRepositories());
dialog.setFederationSets(gitblit.getFederationSets(), repository.federationSets);
+ dialog.setIndexedBranches(repository.getLocalBranches(), repository.indexedBranches);
dialog.setPreReceiveScripts(gitblit.getPreReceiveScriptsUnused(repository),
gitblit.getPreReceiveScriptsInherited(repository), repository.preReceiveScripts);
dialog.setPostReceiveScripts(gitblit.getPostReceiveScriptsUnused(repository),
diff --git a/src/com/gitblit/models/RepositoryModel.java b/src/com/gitblit/models/RepositoryModel.java
index c087a358..324f7d47 100644
--- a/src/com/gitblit/models/RepositoryModel.java
+++ b/src/com/gitblit/models/RepositoryModel.java
@@ -22,6 +22,7 @@ import java.util.List;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.Constants.FederationStrategy;
+import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
/**
@@ -77,6 +78,19 @@ public class RepositoryModel implements Serializable, Comparable<RepositoryModel
this.federationSets = new ArrayList<String>();
this.federationStrategy = FederationStrategy.FEDERATE_THIS;
}
+
+ public List<String> getLocalBranches() {
+ if (ArrayUtils.isEmpty(availableRefs)) {
+ return new ArrayList<String>();
+ }
+ List<String> localBranches = new ArrayList<String>();
+ for (String ref : availableRefs) {
+ if (ref.startsWith("refs/heads")) {
+ localBranches.add(ref);
+ }
+ }
+ return localBranches;
+ }
@Override
public String toString() {
diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
index 172859f1..bd84ae3c 100644
--- a/src/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -39,7 +39,6 @@ import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.util.CollectionModel;
import org.apache.wicket.model.util.ListModel;
-import org.eclipse.jgit.lib.Constants;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.Constants.FederationStrategy;
@@ -117,14 +116,8 @@ public class EditRepositoryPage extends RootSubPage {
new StringChoiceRenderer(), 8, false);
// indexed local branches palette
- List<String> allLocalBranches = new ArrayList<String>();
- if (!ArrayUtils.isEmpty(repositoryModel.availableRefs)) {
- for (String ref : repositoryModel.availableRefs) {
- if (ref.startsWith(Constants.R_HEADS)) {
- allLocalBranches.add(ref);
- }
- }
- }
+ List<String> allLocalBranches = repositoryModel.getLocalBranches();
+
final Palette<String> indexedBranchesPalette = new Palette<String>("indexedBranches", new ListModel<String>(
indexedBranches), new CollectionModel<String>(allLocalBranches),
new StringChoiceRenderer(), 8, false);