List of usage examples for org.eclipse.jgit.transport Transport openFetch
public abstract FetchConnection openFetch() throws NotSupportedException, TransportException;
From source file:com.google.gerrit.server.git.PushOp.java
License:Apache License
private Map<String, Ref> listRemote(final Transport tn) throws NotSupportedException, TransportException { final FetchConnection fc = tn.openFetch(); try {/* w w w. jav a2 s . c o m*/ return fc.getRefsMap(); } finally { fc.close(); } }
From source file:com.googlesource.gerrit.plugins.replication.PushOne.java
License:Apache License
private Map<String, Ref> listRemote(Transport tn) throws NotSupportedException, TransportException { try (FetchConnection fc = tn.openFetch()) { return fc.getRefsMap(); }/* w w w . j av a 2 s . co m*/ }
From source file:jetbrains.buildServer.buildTriggers.vcs.git.GitServerUtil.java
License:Apache License
/** * Removes branches of a bare repository which are not present in a remote repository *//*from w w w . j av a2 s . c o m*/ private static void pruneRemovedBranches(@NotNull Repository db, @NotNull Transport tn) throws IOException { FetchConnection conn = null; try { conn = tn.openFetch(); Map<String, Ref> remoteRefMap = conn.getRefsMap(); for (Map.Entry<String, Ref> e : db.getAllRefs().entrySet()) { if (!remoteRefMap.containsKey(e.getKey())) { try { RefUpdate refUpdate = db.getRefDatabase().newUpdate(e.getKey(), false); refUpdate.setForceUpdate(true); refUpdate.delete(); } catch (Exception ex) { LOG.info("Failed to prune removed ref " + e.getKey(), ex); break; } } } } finally { if (conn != null) conn.close(); } }
From source file:jetbrains.buildServer.buildTriggers.vcs.git.GitVcsSupport.java
License:Apache License
@NotNull private Map<String, Ref> getRemoteRefs(@NotNull Repository db, @NotNull GitVcsRoot gitRoot) throws Exception { long retryInterval = myConfig.getConnectionRetryIntervalMillis(); int attemptsLeft = myConfig.getConnectionRetryAttempts(); int timeout = myConfig.getRepositoryStateTimeoutSeconds(); while (true) { final long start = System.currentTimeMillis(); Transport transport = null; FetchConnection connection = null; try {/*w w w .j a v a2 s . co m*/ transport = myTransportFactory.createTransport(db, gitRoot.getRepositoryFetchURL(), gitRoot.getAuthSettings(), timeout); connection = transport.openFetch(); return connection.getRefsMap(); } catch (NotSupportedException nse) { throw friendlyNotSupportedException(gitRoot, nse); } catch (TransportException te) { attemptsLeft--; if (isRecoverable(te) && attemptsLeft > 0) { LOG.warn("List remote refs failed: " + te.getMessage() + ", " + attemptsLeft + " attempt(s) left"); } else { throw friendlyTransportException(te, gitRoot); } } catch (WrongPassphraseException e) { throw new VcsException(e.getMessage(), e); } finally { if (connection != null) connection.close(); if (transport != null) transport.close(); final long finish = System.currentTimeMillis(); PERFORMANCE_LOG.debug("[getRemoteRefs] repository: " + LogUtil.describe(gitRoot) + ", took " + (finish - start) + "ms"); } Thread.sleep(retryInterval); retryInterval *= 2; } }
From source file:org.eclipse.egit.core.op.ListRemoteOperation.java
License:Open Source License
/** * @param pm/*from ww w . j a va 2 s. c o m*/ * the monitor to be used for reporting progress and responding * to cancellation. The monitor is never <code>null</code> * @throws InvocationTargetException * @throws InterruptedException */ public void run(IProgressMonitor pm) throws InvocationTargetException, InterruptedException { Transport transport = null; Connection connection = null; try { transport = Transport.open(localDb, uri); if (credentialsProvider != null) transport.setCredentialsProvider(credentialsProvider); transport.setTimeout(this.timeout); if (pm != null) pm.beginTask(CoreText.ListRemoteOperation_title, IProgressMonitor.UNKNOWN); connection = transport.openFetch(); remoteRefsMap = connection.getRefsMap(); } catch (NotSupportedException e) { throw new InvocationTargetException(e); } catch (TransportException e) { throw new InvocationTargetException(e); } finally { if (connection != null) connection.close(); if (transport != null) transport.close(); if (pm != null) pm.done(); } }