mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-03 03:55:51 +01:00
enhance mergeCommandBuilder API with setMessage to avoid templating commit messages
This commit is contained in:
@@ -181,6 +181,18 @@ public class MergeCommandBuilder {
|
|||||||
return this;
|
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.
|
* Use this to reset the command.
|
||||||
* @return This builder instance.
|
* @return This builder instance.
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ public class MergeCommandRequest implements Validateable, Resetable, Serializabl
|
|||||||
private String targetBranch;
|
private String targetBranch;
|
||||||
private Person author;
|
private Person author;
|
||||||
private String messageTemplate;
|
private String messageTemplate;
|
||||||
|
private String message;
|
||||||
private MergeStrategy mergeStrategy;
|
private MergeStrategy mergeStrategy;
|
||||||
private boolean sign = true;
|
private boolean sign = true;
|
||||||
|
|
||||||
@@ -77,6 +78,14 @@ public class MergeCommandRequest implements Validateable, Resetable, Serializabl
|
|||||||
this.messageTemplate = messageTemplate;
|
this.messageTemplate = messageTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(String message) {
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
public MergeStrategy getMergeStrategy() {
|
public MergeStrategy getMergeStrategy() {
|
||||||
return mergeStrategy;
|
return mergeStrategy;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ abstract class GitMergeStrategy extends AbstractGitCommand.GitCloneWorker<MergeC
|
|||||||
private final ObjectId revisionToMerge;
|
private final ObjectId revisionToMerge;
|
||||||
private final Person author;
|
private final Person author;
|
||||||
private final String messageTemplate;
|
private final String messageTemplate;
|
||||||
|
private final String message;
|
||||||
private final boolean sign;
|
private final boolean sign;
|
||||||
|
|
||||||
GitMergeStrategy(Git clone, MergeCommandRequest request, GitContext context, sonia.scm.repository.Repository repository) {
|
GitMergeStrategy(Git clone, MergeCommandRequest request, GitContext context, sonia.scm.repository.Repository repository) {
|
||||||
@@ -64,6 +65,7 @@ abstract class GitMergeStrategy extends AbstractGitCommand.GitCloneWorker<MergeC
|
|||||||
this.branchToMerge = request.getBranchToMerge();
|
this.branchToMerge = request.getBranchToMerge();
|
||||||
this.author = request.getAuthor();
|
this.author = request.getAuthor();
|
||||||
this.messageTemplate = request.getMessageTemplate();
|
this.messageTemplate = request.getMessageTemplate();
|
||||||
|
this.message = request.getMessage();
|
||||||
this.sign = request.isSign();
|
this.sign = request.isSign();
|
||||||
try {
|
try {
|
||||||
this.targetRevision = resolveRevision(request.getTargetBranch());
|
this.targetRevision = resolveRevision(request.getTargetBranch());
|
||||||
@@ -106,10 +108,12 @@ abstract class GitMergeStrategy extends AbstractGitCommand.GitCloneWorker<MergeC
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String determineMessage() {
|
private String determineMessage() {
|
||||||
if (Strings.isNullOrEmpty(messageTemplate)) {
|
if (!Strings.isNullOrEmpty(message)) {
|
||||||
return MessageFormat.format(MERGE_COMMIT_MESSAGE_TEMPLATE, branchToMerge, targetBranch);
|
return message;
|
||||||
|
} else if (!Strings.isNullOrEmpty(messageTemplate)) {
|
||||||
|
return MessageFormat.format(messageTemplate, branchToMerge, targetBranch);
|
||||||
} else {
|
} else {
|
||||||
return messageTemplate;
|
return MessageFormat.format(MERGE_COMMIT_MESSAGE_TEMPLATE, branchToMerge, targetBranch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user