List of usage examples for org.eclipse.jgit.transport Transport open
public static Transport open(Repository local, URIish uri) throws NotSupportedException, TransportException
From source file:com.gmail.cjbooms.thesis.pythonappengine.server.git.GitCommandsServiceImpl.java
License:Open Source License
/** * Push Changes to a Remote Repository//from ww w . j a v a 2s . c o m * * @param pathToLocalRepository Root Location Of Repository or Project * @param remoteRepoURL The URL of the Remote Repository to push to * @param userName The remote login user name * @param password The remote login password * @throws IOException, GitAPIException, URISyntaxException */ public void pushLocalCommitsToRemoteRepository(String pathToLocalRepository, String remoteRepoURL, String userName, String password) throws IOException { File repositoryDirectory = new File(pathToLocalRepository); Git localGitRepositoryRef = Git.open(repositoryDirectory); Repository localRepository = localGitRepositoryRef.getRepository(); URIish remoteURI = null; try { remoteURI = new URIish(remoteRepoURL); } catch (URISyntaxException e) { throw new RuntimeException(e.getMessage()); } Transport t = Transport.open(localRepository, remoteURI); ((TransportHttp) t).setUseSmartHttp(true); RemoteRefUpdate remoteRefUpdate = new RemoteRefUpdate(localRepository, localRepository.getRef("master"), "refs/heads/master", true, "refs/heads/master", null); t.setCredentialsProvider(new UsernamePasswordCredentialsProvider(userName, password)); t.push(NullProgressMonitor.INSTANCE, Collections.singleton(remoteRefUpdate)); }
From source file:com.gmail.cjbooms.thesis.pythonappengine.server.git.GitCommandsServiceImpl.java
License:Open Source License
/** * Pull changes from Remote Repository//from www .j a v a2 s. c o m * * @param pathToLocalRepository Root Location Of Repository or Project * @param remoteRepoURL The URL of the Remote Repository to push to * @param userName The remote login user name * @param password The remote login password * @throws IOException, GitAPIException, URISyntaxException */ public void pullChangesFromRemoteRepository(String pathToLocalRepository, String remoteRepoURL, String userName, String password) throws IOException { File repositoryDirectory = new File(pathToLocalRepository); Git localGitRepositoryRef = Git.open(repositoryDirectory); Repository localRepository = localGitRepositoryRef.getRepository(); URIish remoteURI = null; try { remoteURI = new URIish(remoteRepoURL); } catch (URISyntaxException e) { throw new RuntimeException(e.getMessage()); } Transport t = Transport.open(localRepository, remoteURI); ((TransportHttp) t).setUseSmartHttp(true); t.setCredentialsProvider(new UsernamePasswordCredentialsProvider(userName, password)); RefSpec refSpec = new RefSpec("+refs/heads/*:refs/heads/*"); t.fetch(NullProgressMonitor.INSTANCE, Collections.singleton(refSpec)); }
From source file:com.google.gerrit.server.git.PushOp.java
License:Apache License
private void runImpl() throws IOException { final Transport tn = Transport.open(db, uri); final PushResult res; try {// www . j a v a 2 s . c om res = pushVia(tn); } finally { try { tn.close(); } catch (Throwable e2) { log.warn("Unexpected error while closing " + uri, e2); } } for (final RemoteRefUpdate u : res.getRemoteUpdates()) { switch (u.getStatus()) { case OK: case UP_TO_DATE: case NON_EXISTING: break; case NOT_ATTEMPTED: case AWAITING_REPORT: case REJECTED_NODELETE: case REJECTED_NONFASTFORWARD: case REJECTED_REMOTE_CHANGED: log.error("Failed replicate of " + u.getRemoteName() + " to " + uri + ": status " + u.getStatus().name()); break; case REJECTED_OTHER_REASON: if ("non-fast-forward".equals(u.getMessage())) { log.error("Failed replicate of " + u.getRemoteName() + " to " + uri + ", remote rejected non-fast-forward push." + " Check receive.denyNonFastForwards variable in config file" + " of destination repository."); } else { log.error("Failed replicate of " + u.getRemoteName() + " to " + uri + ", reason: " + u.getMessage()); } break; } } }
From source file:com.googlesource.gerrit.plugins.replication.PushOne.java
License:Apache License
private void runImpl() throws IOException { PushResult res;/*from ww w . ja v a2 s.c o m*/ try (Transport tn = Transport.open(git, uri)) { res = pushVia(tn); } updateStates(res.getRemoteUpdates()); }
From source file:com.madgag.agit.git.TransportFactory.java
License:Open Source License
public Transport transportFor(RemoteConfig remoteConfig) { Transport tn;//w w w . j a va 2 s. c om try { Log.i(TAG, "Creating transport for repo with " + identityHashCode(repo)); tn = Transport.open(repo, remoteConfig); } catch (Exception e) { throw new RuntimeException(e); } if (tn instanceof SshTransport) { ((SshTransport) tn).setSshSessionFactory(sshSessionFactoryProvider.get()); } return tn; }
From source file:jetbrains.buildServer.buildTriggers.vcs.git.TransportFactoryImpl.java
License:Apache License
public Transport createTransport(@NotNull final Repository r, @NotNull final URIish url, @NotNull final AuthSettings authSettings, final int timeoutSeconds) throws NotSupportedException, VcsException { try {//from w ww. jav a 2 s .c o m checkUrl(url); URIish preparedURI = prepareURI(url); final Transport t = Transport.open(r, preparedURI); t.setCredentialsProvider(authSettings.toCredentialsProvider()); if (t instanceof SshTransport) { SshTransport ssh = (SshTransport) t; ssh.setSshSessionFactory(getSshSessionFactory(authSettings, url)); } t.setTimeout(timeoutSeconds); return t; } catch (TransportException e) { throw new VcsException("Cannot create transport", e); } }
From source file:net.erdfelt.android.sdkfido.git.internal.GitCloneCommand.java
License:Apache License
/** * Fetch only specific refs from the remoteName. * /*from w w w . j av a2 s .c o m*/ * @param remoteName * the remote name to fetch from * @param refs * the specific refs to fetch, or null for all refs * @return the results of the fetch * @throws URISyntaxException * if unable to process the URL for the remote name * @throws IOException * if unable to fetch */ private FetchResult fetch(String remoteName, Collection<RefSpec> refs) throws URISyntaxException, IOException { if (refs == null) { LOG.info("fetch: remote:" + remoteName + " - refs:<all>"); } else { LOG.info("fetch: remote:" + remoteName + " - refs:" + refs); } Transport tx = Transport.open(repo, remoteName); FetchResult result = null; try { result = tx.fetch(getProgressMonitor(), refs); } finally { tx.close(); } GitInfo.infoFetchResults(repo, result); return result; }
From source file:org.commonjava.gitwrap.BareGitRepository.java
License:Open Source License
public BareGitRepository fetch(final String remoteName) throws GitWrapException { Transport transport = null;//from ww w .j a v a 2s. c o m try { final RemoteConfig remoteConfig = new RemoteConfig(repository.getConfig(), remoteName); if (remoteConfig.getURIs() == null || remoteConfig.getURIs().isEmpty()) { throw new GitWrapException("Remote: %s has no associated URLs.", remoteName); } if (remoteConfig.getFetchRefSpecs() == null || remoteConfig.getFetchRefSpecs().isEmpty()) { throw new GitWrapException("Remote: %s has no associated fetch ref-specs.", remoteName); } transport = Transport.open(repository, remoteConfig); latestFetch = transport.fetch(MONITOR, null); } catch (final URISyntaxException e) { throw new GitWrapException("Cannot read configuration for remote: %s. Reason: %s", e, remoteName, e.getMessage()); } catch (final NotSupportedException e) { throw new GitWrapException("Transport not supported for remote: %s. Error was: %s", e, remoteName, e.getMessage()); } catch (final TransportException e) { throw new GitWrapException("Transport error while fetching remote: %s. Error was: %s", e, remoteName, e.getMessage()); } finally { if (transport != null) { transport.close(); } } return this; }
From source file:org.commonjava.gitwrap.BareGitRepository.java
License:Open Source License
public BareGitRepository push(final String name) throws GitWrapException { try {//from w w w . j av a 2s. c om final StoredConfig config = repository.getConfig(); final RemoteConfig remote = new RemoteConfig(config, name); final List<URIish> pushURIs = remote.getPushURIs(); final List<RefSpec> pushRefSpecs = remote.getPushRefSpecs(); final Collection<RemoteRefUpdate> remoteRefUpdates = Transport.findRemoteRefUpdatesFor(repository, pushRefSpecs, null); for (final URIish uri : pushURIs) { final Collection<RemoteRefUpdate> updates = new ArrayList<RemoteRefUpdate>(); for (final RemoteRefUpdate rru : remoteRefUpdates) { updates.add(new RemoteRefUpdate(rru, null)); } Transport transport = null; try { transport = Transport.open(repository, uri); transport.applyConfig(remote); final PushResult result = transport.push(MONITOR, updates); if (result.getMessages().length() > 0 && LOGGER.isDebugEnabled()) { LOGGER.debug(result.getMessages()); } } finally { if (transport != null) { transport.close(); } } } } catch (final NotSupportedException e) { throw new GitWrapException( "Cannot push to repository: %s. Transport is not supported.\nNested error: %s", e, name, e.getMessage()); } catch (final TransportException e) { throw new GitWrapException("Transport failed for repository push: %s.\nNested error: %s", e, name, e.getMessage()); } catch (final URISyntaxException e) { throw new GitWrapException("Invalid URI for repository push: %s.\nNested error: %s", e, name, e.getMessage()); } catch (final IOException e) { throw new GitWrapException("Transport failed for repository push: %s.\nNested error: %s", e, name, e.getMessage()); } return this; }
From source file:org.eclipse.egit.core.op.CloneOperation.java
License:Open Source License
private void doFetch(final IProgressMonitor monitor) throws NotSupportedException, TransportException { final Transport tn = Transport.open(local, remoteConfig); if (credentialsProvider != null) tn.setCredentialsProvider(credentialsProvider); tn.setTimeout(this.timeout); try {/* w w w . java 2 s . c om*/ final EclipseGitProgressTransformer pm; pm = new EclipseGitProgressTransformer(monitor); fetchResult = tn.fetch(pm, null); } finally { tn.close(); } }