From f5060f9d169810ecfd4bd9f4a007f7c9f21ae1ff Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Fri, 25 Sep 2020 09:46:52 +0200 Subject: [PATCH 1/4] fix message templating --- .../main/java/sonia/scm/repository/spi/GitMergeStrategy.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java index 72a3f23b5f..2409b347d0 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java @@ -90,7 +90,7 @@ abstract class GitMergeStrategy extends AbstractGitCommand.GitCloneWorker doCommit() { logger.debug("merged branch {} into {}", branchToMerge, targetBranch); - return doCommit(MessageFormat.format(determineMessageTemplate(), branchToMerge, targetBranch), author, sign); + return doCommit(determineMessageTemplate(), author, sign); } MergeCommandResult createSuccessResult(String newRevision) { @@ -107,7 +107,7 @@ abstract class GitMergeStrategy extends AbstractGitCommand.GitCloneWorker Date: Fri, 25 Sep 2020 10:00:14 +0200 Subject: [PATCH 2/4] update CHANGELOG.md --- CHANGELOG.md | 1 + .../main/java/sonia/scm/repository/spi/GitMergeStrategy.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73be698524..fcea360605 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Handling of branch with slashes in source view ([#1340](https://github.com/scm-manager/scm-manager/pull/1340)) - Detect not existing paths correctly in Mercurial ([#1343](https://github.com/scm-manager/scm-manager/pull/1343)) - Return correct revisions for tags in hooks for git repositories ([#1344](https://github.com/scm-manager/scm-manager/pull/1344)) +- Do not handle manual merge commit messages as templates ([#1351](https://github.com/scm-manager/scm-manager/pull/1351)) ## [2.5.0] - 2020-09-10 ### Added diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java index 2409b347d0..a945cc78e6 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java @@ -90,7 +90,7 @@ abstract class GitMergeStrategy extends AbstractGitCommand.GitCloneWorker doCommit() { logger.debug("merged branch {} into {}", branchToMerge, targetBranch); - return doCommit(determineMessageTemplate(), author, sign); + return doCommit(determineMessage(), author, sign); } MergeCommandResult createSuccessResult(String newRevision) { @@ -105,7 +105,7 @@ abstract class GitMergeStrategy extends AbstractGitCommand.GitCloneWorker Date: Fri, 25 Sep 2020 10:30:45 +0200 Subject: [PATCH 3/4] enhance mergeCommandBuilder API with `setMessage` to avoid templating commit messages --- .../scm/repository/api/MergeCommandBuilder.java | 12 ++++++++++++ .../scm/repository/spi/MergeCommandRequest.java | 9 +++++++++ .../sonia/scm/repository/spi/GitMergeStrategy.java | 12 ++++++++---- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/api/MergeCommandBuilder.java b/scm-core/src/main/java/sonia/scm/repository/api/MergeCommandBuilder.java index 55e1f44f3c..06a3b489a1 100644 --- a/scm-core/src/main/java/sonia/scm/repository/api/MergeCommandBuilder.java +++ b/scm-core/src/main/java/sonia/scm/repository/api/MergeCommandBuilder.java @@ -181,6 +181,18 @@ public class MergeCommandBuilder { return this; } + /** + * Use this to set the commit message. If no message is set, the message template will be used. + * + * This is optional and for {@link #executeMerge()} only. + * + * @return This builder instance. + */ + public MergeCommandBuilder setMessage(String message) { + request.setMessage(message); + return this; + } + /** * Use this to reset the command. * @return This builder instance. diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/MergeCommandRequest.java b/scm-core/src/main/java/sonia/scm/repository/spi/MergeCommandRequest.java index 5fa755668f..56e39d5c74 100644 --- a/scm-core/src/main/java/sonia/scm/repository/spi/MergeCommandRequest.java +++ b/scm-core/src/main/java/sonia/scm/repository/spi/MergeCommandRequest.java @@ -42,6 +42,7 @@ public class MergeCommandRequest implements Validateable, Resetable, Serializabl private String targetBranch; private Person author; private String messageTemplate; + private String message; private MergeStrategy mergeStrategy; private boolean sign = true; @@ -77,6 +78,14 @@ public class MergeCommandRequest implements Validateable, Resetable, Serializabl this.messageTemplate = messageTemplate; } + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + public MergeStrategy getMergeStrategy() { return mergeStrategy; } diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java index a945cc78e6..006c18e96d 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeStrategy.java @@ -21,7 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - + package sonia.scm.repository.spi; import com.google.common.base.Strings; @@ -56,6 +56,7 @@ abstract class GitMergeStrategy extends AbstractGitCommand.GitCloneWorker Date: Fri, 25 Sep 2020 11:02:37 +0200 Subject: [PATCH 4/4] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcea360605..7333c2eae2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Handling of branch with slashes in source view ([#1340](https://github.com/scm-manager/scm-manager/pull/1340)) - Detect not existing paths correctly in Mercurial ([#1343](https://github.com/scm-manager/scm-manager/pull/1343)) - Return correct revisions for tags in hooks for git repositories ([#1344](https://github.com/scm-manager/scm-manager/pull/1344)) -- Do not handle manual merge commit messages as templates ([#1351](https://github.com/scm-manager/scm-manager/pull/1351)) +- Add option for concrete commit message in merges without templating ([#1351](https://github.com/scm-manager/scm-manager/pull/1351)) ## [2.5.0] - 2020-09-10 ### Added