List of usage examples for org.eclipse.jgit.api FetchCommand setRemoveDeletedRefs
public FetchCommand setRemoveDeletedRefs(boolean removeDeletedRefs)
From source file:net.erdfelt.android.sdkfido.git.internal.InternalGit.java
License:Apache License
@Override public void pullRemote() throws GitException { try {/* w w w .j ava 2s. c o m*/ Git git = new Git(repo); FetchCommand fetch = git.fetch(); fetch.setCheckFetchedObjects(false); fetch.setRemoveDeletedRefs(true); List<RefSpec> specs = new ArrayList<RefSpec>(); fetch.setRefSpecs(specs); fetch.setTimeout(5000); fetch.setDryRun(false); fetch.setRemote(IGit.REMOTE_NAME); fetch.setThin(Transport.DEFAULT_FETCH_THIN); fetch.setProgressMonitor(getProgressMonitor()); FetchResult result = fetch.call(); if (result.getTrackingRefUpdates().isEmpty()) { return; } GitInfo.infoFetchResults(repo, result); } catch (Throwable t) { throw new GitException(t.getMessage(), t); } }
From source file:org.ajoberstar.gradle.git.tasks.GitFetch.java
License:Apache License
/** * Fetches remote changes into a local Git repository. *//*from ww w .j a v a 2 s . c o m*/ @TaskAction public void fetch() { FetchCommand cmd = getGit().fetch(); TransportAuthUtil.configure(cmd, this); cmd.setTagOpt(getTagOpt()); cmd.setCheckFetchedObjects(getCheckFetchedObjects()); cmd.setDryRun(getDryRun()); cmd.setRefSpecs(getRefspecs()); cmd.setRemote(getRemote()); cmd.setRemoveDeletedRefs(getRemoveDeletedRefs()); cmd.setThin(getThin()); try { cmd.call(); } catch (InvalidRemoteException e) { throw new GradleException("Invalid remote specified: " + getRemote(), e); } catch (TransportException e) { throw new GradleException("Problem with transport.", e); } catch (GitAPIException e) { throw new GradleException("Problem with fetch.", e); } //TODO add progress monitor to log progress to Gradle status bar }
From source file:org.eclipse.che.git.impl.jgit.JGitConnection.java
License:Open Source License
@Override public void fetch(FetchRequest request) throws GitException, UnauthorizedException { String remoteName = request.getRemote(); String remoteUri;//from www. ja va2 s .c o m try { List<RefSpec> fetchRefSpecs; List<String> refSpec = request.getRefSpec(); if (!refSpec.isEmpty()) { fetchRefSpecs = new ArrayList<>(refSpec.size()); for (String refSpecItem : refSpec) { RefSpec fetchRefSpec = (refSpecItem.indexOf(':') < 0) // ? new RefSpec(Constants.R_HEADS + refSpecItem + ":") // : new RefSpec(refSpecItem); fetchRefSpecs.add(fetchRefSpec); } } else { fetchRefSpecs = Collections.emptyList(); } FetchCommand fetchCommand = getGit().fetch(); // If this an unknown remote with no refspecs given, put HEAD // (otherwise JGit fails) if (remoteName != null && refSpec.isEmpty()) { boolean found = false; List<Remote> configRemotes = remoteList(newDto(RemoteListRequest.class)); for (Remote configRemote : configRemotes) { if (remoteName.equals(configRemote.getName())) { found = true; break; } } if (!found) { fetchRefSpecs = Collections .singletonList(new RefSpec(Constants.HEAD + ":" + Constants.FETCH_HEAD)); } } if (remoteName == null) { remoteName = Constants.DEFAULT_REMOTE_NAME; } fetchCommand.setRemote(remoteName); remoteUri = getRepository().getConfig().getString(ConfigConstants.CONFIG_REMOTE_SECTION, remoteName, ConfigConstants.CONFIG_KEY_URL); fetchCommand.setRefSpecs(fetchRefSpecs); int timeout = request.getTimeout(); if (timeout > 0) { fetchCommand.setTimeout(timeout); } fetchCommand.setRemoveDeletedRefs(request.isRemoveDeletedRefs()); executeRemoteCommand(remoteUri, fetchCommand); } catch (GitException | GitAPIException exception) { String errorMessage; if (exception.getMessage().contains("Invalid remote: ")) { errorMessage = ERROR_NO_REMOTE_REPOSITORY; } else if ("Nothing to fetch.".equals(exception.getMessage())) { return; } else { errorMessage = exception.getMessage(); } throw new GitException(errorMessage, exception); } }
From source file:org.jboss.forge.addon.git.GitUtilsImpl.java
License:Open Source License
@Override public FetchResult fetch(final Git git, final String remote, final String refSpec, final int timeout, final boolean fsck, final boolean dryRun, final boolean thin, final boolean prune) throws GitAPIException { FetchCommand fetch = git.fetch(); fetch.setCheckFetchedObjects(fsck);//from w w w.j av a 2 s .c om fetch.setRemoveDeletedRefs(prune); if (refSpec != null) fetch.setRefSpecs(new RefSpec(refSpec)); if (timeout >= 0) fetch.setTimeout(timeout); fetch.setDryRun(dryRun); fetch.setRemote(remote); fetch.setThin(thin); fetch.setProgressMonitor(new TextProgressMonitor()); FetchResult result = fetch.call(); return result; }
From source file:org.jboss.forge.git.GitUtils.java
License:Open Source License
public static FetchResult fetch(final Git git, final String remote, final String refSpec, final int timeout, final boolean fsck, final boolean dryRun, final boolean thin, final boolean prune) throws GitAPIException { FetchCommand fetch = git.fetch(); fetch.setCheckFetchedObjects(fsck);/* w w w .j a v a 2s . c o m*/ fetch.setRemoveDeletedRefs(prune); if (refSpec != null) fetch.setRefSpecs(new RefSpec(refSpec)); if (timeout >= 0) fetch.setTimeout(timeout); fetch.setDryRun(dryRun); fetch.setRemote(remote); fetch.setThin(thin); fetch.setProgressMonitor(new TextProgressMonitor()); FetchResult result = fetch.call(); return result; }