private static Ref pingRemote(Remote remote) throws Exception { Optional<IRemoteRepo> remoteRepo; try { Hints hints = Hints.readOnly(); Repository localRepo = GlobalContextBuilder.builder().build(hints).repository(); remoteRepo = RemoteResolver.newRemote(remote, null); if (!remoteRepo.isPresent()) { throw new IllegalArgumentException("Repository not found or not reachable"); } else { IRemoteRepo repo = remoteRepo.get(); try { repo.open(); Optional<Ref> head = repo.headRef(); return head.orNull(); } finally { repo.close(); } } } catch (Exception e) { throw new IllegalArgumentException("Unable to connect: " + e.getMessage(), e); } }
remoteRepo.close();
remoteRepo.close();
public void addRemoteOverride(Remote remote, Repository override) { IRemoteRepo remoteRepo = spy(LocalRemoteResolver.resolve(remote, override)); try { remoteRepo.open(); } catch (RepositoryConnectionException e) { throw new RuntimeException(e); } doNothing().when(remoteRepo).close(); this.remoteOverride.put(remote.getName(), remoteRepo); }
public void addRemoteOverride(Remote remote, Repository override) { IRemoteRepo remoteRepo = spy(LocalRemoteResolver.resolve(remote, override)); try { remoteRepo.open(); } catch (RepositoryConnectionException e) { throw Throwables.propagate(e); } doNothing().when(remoteRepo).close(); this.remoteOverride.put(remote.getName(), remoteRepo); }