private Map<String, BlameResult> loadBlameResultsForFiles(final Map<String, BlameRequest> linesOfConflictingFiles) throws InterruptedException, IOException { try { ObjectId headCommit = git.revParse(gitCommit); return git.withRepository(new BlameCallback(this, headCommit, linesOfConflictingFiles.values())); } catch (GitException exception) { log("Can't determine head commit using 'git rev-parse'. Skipping blame. %n%s%n", exception.getMessage()); return Collections.emptyMap(); } }
if(ge.getMessage().contains(normalReturnCode)) { listener.getLogger().println(ge.getMessage()); } else { throw ge;
@Override public SCMRevision run(GitClient client, String remoteName) throws IOException, InterruptedException { String hash; try { hash = client.revParse(revision).name(); } catch (GitException x) { // Try prepending remote name in case it was a branch. try { hash = client.revParse(context.remoteName() + "/" + revision).name(); } catch (GitException x2) { listener.getLogger().println(x.getMessage()); listener.getLogger().println(x2.getMessage()); return null; } } return new SCMRevisionImpl(new SCMHead(revision), hash); } },
@Override protected void perform(final TaskListener listener) throws Exception { final EnvVars environment = getRun().getEnvironment(listener); final FilePath workspace = new FilePath(new File(ws)); final GitClient git = Git.with(listener, environment) .in(workspace) .getClient(); for (Map.Entry<String, String> entry : tagSet.entrySet()) { try { String buildNum = "jenkins-" + getRun().getParent().getName().replace(" ", "_") + "-" + entry.getValue(); git.tag(entry.getValue(), "Jenkins Build #" + buildNum); for (Map.Entry<String, String> e : tagSet.entrySet()) GitTagAction.this.tags.get(e.getKey()).add(e.getValue()); getRun().save(); workerThread = null; } catch (GitException ex) { ex.printStackTrace(listener.error("Error tagging repo '%s' : %s", entry.getKey(), ex.getMessage())); // Failed. Try the next one listener.getLogger().println("Trying next branch"); } } } }
/** * Fetch information from a particular remote repository. * * @param git * @param listener * @param remoteRepository * @return true if fetch goes through, false otherwise. * @throws */ private boolean fetchFrom(IGitAPI git, TaskListener listener, RemoteConfig remoteRepository) { try { git.fetch(remoteRepository); return true; } catch (GitException ex) { listener.error( "Problem fetching from " + remoteRepository.getName() + " / " + remoteRepository.getName() + " - could be unavailable. Continuing anyway"); listener.error(" (Underlying report) : " + ex.getMessage()); } return false; }
git.getHeadRev(url, "HEAD"); } catch (GitException e) { return FormValidation.error(Messages.UserRemoteConfig_FailedToConnect(e.getMessage()));
if (Pattern.compile("index\\.lock").matcher(e.getMessage()).find()) { throw new GitLockFailedException("Could not lock repository. Please try again", e); } else {
printCommitMessageToLog(listener, git, revToBuild); } catch (GitException ge) { listener.getLogger().println("Exception logging commit message for " + revToBuild + ": " + ge.getMessage());
break; } catch (GitException ex) { listener.error("Error cloning remote repo '%s' : %s", rc.getName(), ex.getMessage()); if (ex.getCause() != null) { listener.error("Cause: %s", ex.getCause().getMessage());
listener.getLogger().println("Was not possible to get build data"); throw new AbortException("Branch not suitable for integration as it does not merge cleanly: " + ex.getMessage());