Clone should close repository after errors in fetch or checkout
Bug: 474093 Change-Id: Ia0a1478260b94a71a947aa8c04ee0c836d390aec Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
This commit is contained in:
parent
204da3969e
commit
1309526564
|
@ -127,16 +127,23 @@ public CloneCommand() {
|
|||
*/
|
||||
public Git call() throws GitAPIException, InvalidRemoteException,
|
||||
org.eclipse.jgit.api.errors.TransportException {
|
||||
Repository repository = null;
|
||||
try {
|
||||
URIish u = new URIish(uri);
|
||||
Repository repository = init(u);
|
||||
repository = init(u);
|
||||
FetchResult result = fetch(repository, u);
|
||||
if (!noCheckout)
|
||||
checkout(repository, result);
|
||||
return new Git(repository);
|
||||
} catch (IOException ioe) {
|
||||
if (repository != null) {
|
||||
repository.close();
|
||||
}
|
||||
throw new JGitInternalException(ioe.getMessage(), ioe);
|
||||
} catch (URISyntaxException e) {
|
||||
if (repository != null) {
|
||||
repository.close();
|
||||
}
|
||||
throw new InvalidRemoteException(MessageFormat.format(
|
||||
JGitText.get().invalidRemote, remote));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue