List of usage examples for org.eclipse.jgit.transport Transport setDryRun
public void setDryRun(boolean dryRun)
From source file:org.eclipse.egit.core.op.PushOperation.java
License:Open Source License
/** * Execute operation and store result. Operation is executed independently * on each remote repository.//w w w. j a va2 s.c om * <p> * * @param actMonitor * the monitor to be used for reporting progress and responding * to cancellation. The monitor is never <code>null</code> * * @throws InvocationTargetException * Cause of this exceptions may include * {@link TransportException}, {@link NotSupportedException} or * some unexpected {@link RuntimeException}. */ public void run(IProgressMonitor actMonitor) throws InvocationTargetException { if (operationResult != null) throw new IllegalStateException(CoreText.OperationAlreadyExecuted); for (URIish uri : this.specification.getURIs()) { for (RemoteRefUpdate update : this.specification.getRefUpdates(uri)) if (update.getStatus() != Status.NOT_ATTEMPTED) throw new IllegalStateException(CoreText.RemoteRefUpdateCantBeReused); } IProgressMonitor monitor; if (actMonitor == null) monitor = new NullProgressMonitor(); else monitor = actMonitor; final int totalWork = specification.getURIsNumber() * WORK_UNITS_PER_TRANSPORT; if (dryRun) monitor.beginTask(CoreText.PushOperation_taskNameDryRun, totalWork); else monitor.beginTask(CoreText.PushOperation_taskNameNormalRun, totalWork); operationResult = new PushOperationResult(); for (final URIish uri : specification.getURIs()) { final SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, WORK_UNITS_PER_TRANSPORT, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK); Transport transport = null; try { if (monitor.isCanceled()) { operationResult.addOperationResult(uri, CoreText.PushOperation_resultCancelled); continue; } transport = Transport.open(localDb, uri); if (credentialsProvider != null) transport.setCredentialsProvider(credentialsProvider); transport.setTimeout(this.timeout); if (rc != null) transport.applyConfig(rc); transport.setDryRun(dryRun); final EclipseGitProgressTransformer gitSubMonitor = new EclipseGitProgressTransformer(subMonitor); final PushResult pr = transport.push(gitSubMonitor, specification.getRefUpdates(uri)); operationResult.addOperationResult(uri, pr); monitor.worked(WORK_UNITS_PER_TRANSPORT); } catch (final NoRemoteRepositoryException e) { operationResult.addOperationResult(uri, NLS.bind(CoreText.PushOperation_resultNoServiceError, e.getMessage())); } catch (final TransportException e) { operationResult.addOperationResult(uri, NLS.bind(CoreText.PushOperation_resultTransportError, e.getMessage())); } catch (final NotSupportedException e) { operationResult.addOperationResult(uri, NLS.bind(CoreText.PushOperation_resultNotSupported, e.getMessage())); } finally { if (transport != null) { transport.close(); } // Dirty trick to get things always working. subMonitor.beginTask("", WORK_UNITS_PER_TRANSPORT); //$NON-NLS-1$ subMonitor.done(); subMonitor.done(); } } monitor.done(); }
From source file:org.kuali.student.git.importer.JGitPushMain.java
License:Educational Community License
public static void push(Repository repo, String remoteName, List<RemoteRefUpdate> refsToUpdate, String remoteUserName, String remotePassword) throws IOException, URISyntaxException { ArrayList<PushResult> pushResults = new ArrayList<PushResult>(3); RemoteConfig config = new RemoteConfig(repo.getConfig(), remoteName); final List<Transport> transports; transports = Transport.openAll(repo, config, Transport.Operation.PUSH); for (final Transport transport : transports) { transport.setPushThin(false);//w ww. j a va2s. c o m transport.setOptionReceivePack(RemoteConfig.DEFAULT_RECEIVE_PACK); transport.setDryRun(false); configure(transport, remoteUserName, remotePassword); try { PushResult result = transport.push(new TextProgressMonitor(), refsToUpdate, System.out); pushResults.add(result); } catch (TransportException e) { throw new TransportException(e.getMessage(), e); } finally { transport.close(); } } }