mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-03 12:05:52 +01:00
Let merges without effect throw an exception
This commit is contained in:
@@ -186,6 +186,10 @@ class AbstractGitCommand
|
||||
return context;
|
||||
}
|
||||
|
||||
sonia.scm.repository.Repository getRepository() {
|
||||
return repository;
|
||||
}
|
||||
|
||||
void checkOutBranch(String branchName) throws IOException {
|
||||
try {
|
||||
clone.checkout().setName(branchName).call();
|
||||
|
||||
@@ -4,6 +4,7 @@ import org.eclipse.jgit.api.Git;
|
||||
import org.eclipse.jgit.api.MergeCommand;
|
||||
import org.eclipse.jgit.api.MergeResult;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
import sonia.scm.NoChangesMadeException;
|
||||
import sonia.scm.repository.Repository;
|
||||
import sonia.scm.repository.api.MergeCommandResult;
|
||||
|
||||
@@ -26,7 +27,7 @@ class GitMergeCommit extends GitMergeStrategy {
|
||||
MergeResult result = doMergeInClone(mergeCommand);
|
||||
|
||||
if (result.getMergeStatus().isSuccessful()) {
|
||||
Optional<RevCommit> revCommit = doCommit();
|
||||
RevCommit revCommit = doCommit().orElseThrow(() -> new NoChangesMadeException(getRepository()));
|
||||
push();
|
||||
return MergeCommandResult.success(extractRevisionFromRevCommit(revCommit));
|
||||
} else {
|
||||
|
||||
@@ -4,6 +4,7 @@ import org.eclipse.jgit.api.Git;
|
||||
import org.eclipse.jgit.api.MergeCommand;
|
||||
import org.eclipse.jgit.api.MergeResult;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
import sonia.scm.NoChangesMadeException;
|
||||
import sonia.scm.repository.Repository;
|
||||
import sonia.scm.repository.api.MergeCommandResult;
|
||||
|
||||
@@ -26,7 +27,7 @@ class GitMergeWithSquash extends GitMergeStrategy {
|
||||
MergeResult result = doMergeInClone(mergeCommand);
|
||||
|
||||
if (result.getMergeStatus().isSuccessful()) {
|
||||
Optional<RevCommit> revCommit = doCommit();
|
||||
RevCommit revCommit = doCommit().orElseThrow(() -> new NoChangesMadeException(getRepository()));
|
||||
push();
|
||||
return MergeCommandResult.success(extractRevisionFromRevCommit(revCommit));
|
||||
} else {
|
||||
|
||||
@@ -6,10 +6,7 @@ import java.util.Optional;
|
||||
|
||||
public class GitRevisionExtractor {
|
||||
|
||||
static String extractRevisionFromRevCommit(Optional<RevCommit> revCommit) {
|
||||
if (revCommit.isPresent()) {
|
||||
return revCommit.get().toString().split(" ")[1];
|
||||
}
|
||||
return "";
|
||||
static String extractRevisionFromRevCommit(RevCommit revCommit) {
|
||||
return revCommit.toString().split(" ")[1];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user