From f1b8822f715ea00da6b7d39a8ea63864aeda2d39 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sat, 08 Mar 2014 15:39:36 -0500
Subject: [PATCH] Allow configuring the default integration branch for a repository

---
 src/main/java/com/gitblit/client/EditRepositoryDialog.java |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/gitblit/client/EditRepositoryDialog.java b/src/main/java/com/gitblit/client/EditRepositoryDialog.java
index c3690f3..ef665d1 100644
--- a/src/main/java/com/gitblit/client/EditRepositoryDialog.java
+++ b/src/main/java/com/gitblit/client/EditRepositoryDialog.java
@@ -58,6 +58,8 @@
 import javax.swing.ListCellRenderer;
 import javax.swing.ScrollPaneConstants;
 
+import org.eclipse.jgit.lib.Repository;
+
 import com.gitblit.Constants.AccessRestrictionType;
 import com.gitblit.Constants.AuthorizationControl;
 import com.gitblit.Constants.FederationStrategy;
@@ -92,7 +94,9 @@
 
 	private JCheckBox acceptNewTickets;
 
-	private JCheckBox requireApproval;
+	private JCheckBox requireApproval;
+
+	private JComboBox mergeToField;
 
 	private JCheckBox useIncrementalPushTags;
 
@@ -217,6 +221,16 @@
 				anRepository.acceptNewPatchsets);
 		requireApproval = new JCheckBox(Translation.get("gb.requireApprovalDescription"),
 				anRepository.requireApproval);
+
+		if (ArrayUtils.isEmpty(anRepository.availableRefs)) {
+			mergeToField = new JComboBox();
+			mergeToField.setEnabled(false);
+		} else {
+			mergeToField = new JComboBox(
+					anRepository.availableRefs.toArray());
+			mergeToField.setSelectedItem(anRepository.mergeTo);
+		}
+
 		useIncrementalPushTags = new JCheckBox(Translation.get("gb.useIncrementalPushTagsDescription"),
 				anRepository.useIncrementalPushTags);
 		showRemoteBranches = new JCheckBox(
@@ -316,6 +330,7 @@
 				acceptNewPatchsets));
 		fieldsPanel.add(newFieldPanel(Translation.get("gb.requireApproval"),
 				requireApproval));
+		fieldsPanel.add(newFieldPanel(Translation.get("gb.mergeTo"), mergeToField));
 		fieldsPanel
 		.add(newFieldPanel(Translation.get("gb.enableIncrementalPushTags"), useIncrementalPushTags));
 		fieldsPanel.add(newFieldPanel(Translation.get("gb.showRemoteBranches"),
@@ -573,6 +588,8 @@
 		repository.acceptNewPatchsets = acceptNewPatchsets.isSelected();
 		repository.acceptNewTickets = acceptNewTickets.isSelected();
 		repository.requireApproval = requireApproval.isSelected();
+		repository.mergeTo = mergeToField.getSelectedItem() == null ? null
+				: Repository.shortenRefName(mergeToField.getSelectedItem().toString());
 		repository.useIncrementalPushTags = useIncrementalPushTags.isSelected();
 		repository.showRemoteBranches = showRemoteBranches.isSelected();
 		repository.skipSizeCalculation = skipSizeCalculation.isSelected();

--
Gitblit v1.9.1