From 9e9dde3e030dff8d7f424a18e5f4ed9d1c1120dd Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Thu, 23 Jan 2014 18:10:02 +0400 Subject: [PATCH 01/27] Disable possibility to create feature branch in "Open Task" dialog, before at least one branch already exists --- .../com/intellij/tasks/actions/OpenTaskDialog.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/OpenTaskDialog.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/OpenTaskDialog.java index 821ff57ee614..54d1e8ad7b78 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/OpenTaskDialog.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/OpenTaskDialog.java @@ -107,7 +107,9 @@ public class OpenTaskDialog extends DialogWrapper { myCreateChangelist.setSelected(manager.getState().createChangelist); myCreateBranch.setSelected(manager.getState().createBranch); - if (vcs.getType() != VcsType.distributed) { + // In git 'master' branch appears (in .git/refs/heads/master) only after at least one commit was made in it. + // Before that feature branches can't be created normally. + if (vcs.getType() != VcsType.distributed || !branchesExist(project)) { myCreateBranch.setSelected(false); myCreateBranch.setVisible(false); myBranchName.setVisible(false); @@ -162,6 +164,15 @@ public class OpenTaskDialog extends DialogWrapper { init(); } + private static boolean branchesExist(Project project) { + for (VcsTaskHandler handler : VcsTaskHandler.getAllHandlers(project)) { + if (handler.getCurrentTasks().length != 0) { + return true; + } + } + return false; + } + private void updateFields() { myBranchName.setEnabled(myCreateBranch.isSelected()); myChangelistName.setEnabled(myCreateChangelist.isSelected()); From a2f1da99cf2b0bdcb4dba117a39341b6492b7b9e Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Thu, 23 Jan 2014 18:24:28 +0400 Subject: [PATCH 02/27] IDEA-118773 Change Assembla's issue IDs to be project local instead of unique global --- .../src/com/intellij/tasks/generic/connectors/assembla.xml | 4 ++-- .../intellij/tasks/integration/AssemblaIntegrationTest.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/generic/connectors/assembla.xml b/plugins/tasks/tasks-core/src/com/intellij/tasks/generic/connectors/assembla.xml index da466a6014c8..744d80a6fe6b 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/generic/connectors/assembla.xml +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/generic/connectors/assembla.xml @@ -1,5 +1,5 @@ - {id} {summary} + #{id} {summary}