diff --git a/src/main/java/org/springframework/data/release/cli/ReleaseCommands.java b/src/main/java/org/springframework/data/release/cli/ReleaseCommands.java index 3bc6f61..8f9096c 100644 --- a/src/main/java/org/springframework/data/release/cli/ReleaseCommands.java +++ b/src/main/java/org/springframework/data/release/cli/ReleaseCommands.java @@ -206,14 +206,26 @@ class ReleaseCommands extends TimedCommand { BranchMapping branches = git.createMaintenanceBranches(iteration, true); // Set project version to maintenance once - setupMaintenanceVersions(iteration); - } - } setupMaintenanceVersions(iteration, branches); } } } + @CliCommand(value = "release create-branches") + public void createBranches(@CliOption(key = "", mandatory = true) TrainIteration iteration) throws Exception { + + if (!iteration.getTrain().isAlwaysUseBranch()) { + throw new IllegalArgumentException( + String.format("Cannot create branches as train %s does not use branches.", iteration.getTrain().getCalver())); + } + + // Create bugfix branches + BranchMapping branchMapping = git.createMaintenanceBranches(iteration, false); + + // Set project version to maintenance once + setupMaintenanceVersions(iteration, branchMapping); + } + @CliCommand(value = "release documentation") public void triggerDocumentation(@CliOption(key = "", mandatory = true) TrainIteration iteration, @CliOption(key = "module", mandatory = false) String module) {