Remove ambiguous CheckoutConflictException
Checkout command should throw o.e.j.api.errors.CheckoutConflictException which is a GitAPIException not o.e.j.errors.CheckoutConflictException. PullCommand should rethrow the API exception as a JGitInternalException. Bug: 356922 Change-Id: I865c4905997d9834c85a97fbe7287604daf99075 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
e05300b21d
commit
90d002c15f
|
@ -56,6 +56,7 @@
|
|||
import java.io.IOException;
|
||||
|
||||
import org.eclipse.jgit.api.CheckoutResult.Status;
|
||||
import org.eclipse.jgit.api.errors.CheckoutConflictException;
|
||||
import org.eclipse.jgit.api.errors.InvalidRefNameException;
|
||||
import org.eclipse.jgit.api.errors.JGitInternalException;
|
||||
import org.eclipse.jgit.api.errors.RefAlreadyExistsException;
|
||||
|
@ -127,7 +128,8 @@ public void testCreateBranchOnCheckout() throws Exception {
|
|||
|
||||
@Test
|
||||
public void testCheckoutToNonExistingBranch() throws JGitInternalException,
|
||||
RefAlreadyExistsException, InvalidRefNameException {
|
||||
RefAlreadyExistsException, InvalidRefNameException,
|
||||
CheckoutConflictException {
|
||||
try {
|
||||
git.checkout().setName("badbranch").call();
|
||||
fail("Should have failed");
|
||||
|
@ -222,7 +224,7 @@ public void testCheckoutRemoteTrackingWithoutLocalBranch() throws Exception {
|
|||
@Test
|
||||
public void testDetachedHeadOnCheckout() throws JGitInternalException,
|
||||
RefAlreadyExistsException, RefNotFoundException,
|
||||
InvalidRefNameException, IOException {
|
||||
InvalidRefNameException, IOException, CheckoutConflictException {
|
||||
CheckoutCommand co = git.checkout();
|
||||
co.setName("master").call();
|
||||
|
||||
|
|
|
@ -62,7 +62,6 @@
|
|||
import org.eclipse.jgit.api.ResetCommand.ResetType;
|
||||
import org.eclipse.jgit.api.Status;
|
||||
import org.eclipse.jgit.api.errors.GitAPIException;
|
||||
import org.eclipse.jgit.api.errors.JGitInternalException;
|
||||
import org.eclipse.jgit.api.errors.NoFilepatternException;
|
||||
import org.eclipse.jgit.dircache.DirCache;
|
||||
import org.eclipse.jgit.dircache.DirCacheCheckout;
|
||||
|
@ -1015,7 +1014,7 @@ public void testFileModeChangeAndContentChangeConflict() throws Exception {
|
|||
try {
|
||||
checkout.call();
|
||||
fail("Checkout exception not thrown");
|
||||
} catch (JGitInternalException e) {
|
||||
} catch (org.eclipse.jgit.api.errors.CheckoutConflictException e) {
|
||||
CheckoutResult result = checkout.getResult();
|
||||
assertNotNull(result);
|
||||
assertNotNull(result.getConflictList());
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
|
||||
import org.eclipse.jgit.JGitText;
|
||||
import org.eclipse.jgit.api.CheckoutResult.Status;
|
||||
import org.eclipse.jgit.api.errors.CheckoutConflictException;
|
||||
import org.eclipse.jgit.api.errors.InvalidRefNameException;
|
||||
import org.eclipse.jgit.api.errors.JGitInternalException;
|
||||
import org.eclipse.jgit.api.errors.RefAlreadyExistsException;
|
||||
|
@ -62,7 +63,6 @@
|
|||
import org.eclipse.jgit.dircache.DirCacheEntry;
|
||||
import org.eclipse.jgit.dircache.DirCacheIterator;
|
||||
import org.eclipse.jgit.errors.AmbiguousObjectException;
|
||||
import org.eclipse.jgit.errors.CheckoutConflictException;
|
||||
import org.eclipse.jgit.lib.AnyObjectId;
|
||||
import org.eclipse.jgit.lib.Constants;
|
||||
import org.eclipse.jgit.lib.FileMode;
|
||||
|
@ -124,7 +124,8 @@ protected CheckoutCommand(Repository repo) {
|
|||
* @return the newly created branch
|
||||
*/
|
||||
public Ref call() throws JGitInternalException, RefAlreadyExistsException,
|
||||
RefNotFoundException, InvalidRefNameException {
|
||||
RefNotFoundException, InvalidRefNameException,
|
||||
CheckoutConflictException {
|
||||
checkCallable();
|
||||
processOptions();
|
||||
try {
|
||||
|
@ -164,10 +165,10 @@ public Ref call() throws JGitInternalException, RefAlreadyExistsException,
|
|||
dco.setFailOnConflict(true);
|
||||
try {
|
||||
dco.checkout();
|
||||
} catch (CheckoutConflictException e) {
|
||||
} catch (org.eclipse.jgit.errors.CheckoutConflictException e) {
|
||||
status = new CheckoutResult(Status.CONFLICTS, dco
|
||||
.getConflicts());
|
||||
throw e;
|
||||
throw new CheckoutConflictException(dco.getConflicts(), e);
|
||||
}
|
||||
Ref ref = repo.getRef(name);
|
||||
if (ref != null && !ref.getName().startsWith(Constants.R_HEADS))
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
|
||||
import org.eclipse.jgit.JGitText;
|
||||
import org.eclipse.jgit.api.RebaseResult.Status;
|
||||
import org.eclipse.jgit.api.errors.CheckoutConflictException;
|
||||
import org.eclipse.jgit.api.errors.GitAPIException;
|
||||
import org.eclipse.jgit.api.errors.InvalidRefNameException;
|
||||
import org.eclipse.jgit.api.errors.JGitInternalException;
|
||||
|
@ -676,6 +677,8 @@ private RevCommit tryFastForward(String headName, RevCommit oldCommit,
|
|||
throw new JGitInternalException(e.getMessage(), e);
|
||||
} catch (InvalidRefNameException e) {
|
||||
throw new JGitInternalException(e.getMessage(), e);
|
||||
} catch (CheckoutConflictException e) {
|
||||
throw new JGitInternalException(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -55,6 +55,8 @@ public class CheckoutConflictException extends GitAPIException {
|
|||
* list of conflicting paths
|
||||
*
|
||||
* @param e
|
||||
* a {@link org.eclipse.jgit.errors.CheckoutConflictException}
|
||||
* exception
|
||||
*/
|
||||
public CheckoutConflictException(List<String> conflictingPaths,
|
||||
org.eclipse.jgit.errors.CheckoutConflictException e) {
|
||||
|
|
Loading…
Reference in New Issue