List of usage examples for org.eclipse.jgit.api Git getRepository
public Repository getRepository()
From source file:br.com.metricminer2.scm.GitRepository.java
License:Apache License
@Override public String blame(String file, String currentCommit, Integer line) { Git git = null; try {/* ww w . jav a 2 s . c om*/ git = Git.open(new File(path)); Iterable<RevCommit> commits = git.log().add(git.getRepository().resolve(currentCommit)).call(); ObjectId prior = commits.iterator().next().getParent(0).getId(); BlameResult blameResult = git.blame().setFilePath(file).setStartCommit(prior).setFollowFileRenames(true) .call(); return blameResult.getSourceCommit(line).getId().getName(); } catch (Exception e) { throw new RuntimeException(e); } finally { if (git != null) git.close(); } }
From source file:br.com.riselabs.cotonet.crawler.RepositoryCrawler.java
License:Open Source License
/** * Clones the project's repository of this {@code RepositoryCrawler} * instance. The method {@code #getRepository()} returns an object that * represents the repository./*from www. j ava2 s . c om*/ * * @param repositoryURL * @return * @throws IOException * @throws InvalidRemoteException * @throws TransportException * @throws GitAPIException */ public Repository cloneRepository() { Git result; try { Logger.log(log, "[" + getProject().getName() + "] Cloning Start."); result = Git.cloneRepository().setURI(project.getUrl() + ".git").setDirectory(repositoryDir).call(); Logger.log(log, "[" + getProject().getName() + "] Cloning Finished."); return result.getRepository(); } catch (GitAPIException e) { Logger.log(log, "[" + getProject().getName() + "] Cloning Failed."); Logger.logStackTrace(log, e); } System.gc(); return null; }
From source file:br.edu.ifpb.scm.api.loads.Loader.java
public static void showFileDiffs(Git gitRepository) { Repository repo = gitRepository.getRepository(); try {/*w w w. java2s .co m*/ ObjectId head = ObjectId.fromString("c24af304077e4a6d1925db7cd35d0cd1ed488d6a"); ObjectId previousHead = ObjectId.fromString("c16be41e77bb53a4b639cb864c9a6e4d0f8df7c2"); ObjectReader reader = repo.newObjectReader(); CanonicalTreeParser oldTreeIter = new CanonicalTreeParser(); oldTreeIter.reset(reader, previousHead); CanonicalTreeParser newTreeIter = new CanonicalTreeParser(); newTreeIter.reset(reader, head); List<DiffEntry> listDiffs = gitRepository.diff().setOldTree(oldTreeIter).setNewTree(newTreeIter).call(); listDiffs.stream().forEach((DiffEntry diff) -> { DiffFormatter formatter = new DiffFormatter(System.out); formatter.setRepository(repo); System.out.println(diff); try { formatter.format(diff); } catch (IOException ex) { Logger.getLogger(Loader.class.getName()).log(Level.SEVERE, null, ex); } }); } catch (IOException | GitAPIException ex) { Logger.getLogger(Loader.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:br.edu.ifpb.scm.api.loads.LoaderVersions.java
public static void teste2() throws IOException, GitAPIException { org.eclipse.jgit.api.Git git = org.eclipse.jgit.api.Git.open(PATH); org.eclipse.jgit.lib.Repository repository = git.getRepository(); repository.findRef(URL);/* www. j a v a 2 s . co m*/ ObjectId oldHead = repository.resolve("HEAD~^{tree}"); ObjectId newHead = repository.resolve("HEAD^{tree}"); ObjectReader reader = repository.newObjectReader(); CanonicalTreeParser oldTreeIter = new CanonicalTreeParser(); // ObjectId oldTree = git.getRepository().resolve("SHA-1{64c852a8fe9e3673aa381f95c4b0420986d1f925}"); CanonicalTreeParser newTreeIter = new CanonicalTreeParser(); // ObjectId newTree = git.getRepository().resolve("SHA-1{12ae7a9960c49cfe68bdd5f7b0a58e1b3b0c6e56}"); oldTreeIter.reset(reader, oldHead); newTreeIter.reset(reader, newHead); try (org.eclipse.jgit.api.Git g = new org.eclipse.jgit.api.Git(repository)) { List<DiffEntry> diffs = g.diff().setNewTree(newTreeIter).setOldTree(oldTreeIter).call(); for (DiffEntry entry : diffs) { System.out.println("Entry: " + entry); } } // DiffFormatter diffFormatter = new DiffFormatter(DisabledOutputStream.INSTANCE); // diffFormatter.setRepository(git.getRepository()); // List<DiffEntry> entries = diffFormatter.scan(oldTreeIter, newTreeIter); // // entries.stream().forEach((entry) -> { // System.out.println(entry.getChangeType()); // }); }
From source file:br.edu.ifpb.scm.api.loads.LoaderVersions.java
public static void capturaOCodigoDeCadaHashDaArvoreDeArquivos() throws IOException { org.eclipse.jgit.api.Git git = org.eclipse.jgit.api.Git.open(PATH); try (org.eclipse.jgit.lib.Repository repository = git.getRepository()) { // The {tree} will return the underlying tree-id instead of the commit-id itself! // For a description of what the carets do see e.g. http://www.paulboxley.com/blog/2011/06/git-caret-and-tilde // This means we are selecting the parent of the parent of the parent of the parent of current HEAD and // take the tree-ish of it //id da tree ObjectId oldHead = repository.resolve("HEAD{61c0f8c738b2ae20a91621337bffbfb164f7cc77}"); ObjectId head = repository.resolve("HEAD^^{tree}"); //Pegando o codigo de cada commit pra arvore System.out.println("Printing diff between tree: " + oldHead.getName() + " and " + head.getName()); }/*from w ww . j a v a 2 s.co m*/ }
From source file:br.edu.ifpb.scm.api.loads.LoaderVersions.java
public static void funcionando(final String commit) throws IOException, GitAPIException { org.eclipse.jgit.api.Git git = org.eclipse.jgit.api.Git.open(PATH); try (org.eclipse.jgit.lib.Repository repository = git.getRepository()) { // The {tree} will return the underlying tree-id instead of the commit-id itself! // For a description of what the carets do see e.g. http://www.paulboxley.com/blog/2011/06/git-caret-and-tilde // This means we are selecting the parent of the parent of the parent of the parent of current HEAD and // take the tree-ish of it //id da tree // a RevWalk allows to walk over commits based on some filtering that is defined ObjectId obj = ObjectId.fromString(commit); RevWalk walk = new RevWalk(repository); RevCommit revCommit = walk.parseCommit(obj); RevCommit[] arra = revCommit.getParents(); ObjectId obj2 = ObjectId.fromString(arra[0].getName()); RevWalk walk2 = new RevWalk(repository); RevCommit revCommit2 = walk2.parseCommit(obj2); ObjectId oldHead = repository.resolve(revCommit2.getTree().getName()); ObjectId head = repository.resolve(revCommit.getTree().getName()); //Pegando o codigo de cada commit pra arvore System.out.println("Printing diff between tree: " + oldHead.getName() + " and " + head.getName()); // prepare the two iterators to compute the diff between try (ObjectReader reader = repository.newObjectReader()) { CanonicalTreeParser oldTreeIter = new CanonicalTreeParser(); oldTreeIter.reset(reader, oldHead); CanonicalTreeParser newTreeIter = new CanonicalTreeParser(); newTreeIter.reset(reader, head); // finally get the list of changed files try (org.eclipse.jgit.api.Git g = new org.eclipse.jgit.api.Git(repository)) { List<DiffEntry> diffs = g.diff().setNewTree(newTreeIter).setOldTree(oldTreeIter).call(); diffs.stream().forEach((entry) -> { System.out.println("Entry: " + entry); });/*from w w w. j ava2 s .co m*/ } } } System.out.println("Done"); }
From source file:ch.sbb.releasetrain.git.GitRepoImpl.java
License:Apache License
private Git checkoutOrCreateBranch(final Git git) { try {/* ww w . j ava2 s. c o m*/ if (!branch.equals(git.getRepository().getBranch())) { CheckoutCommand checkoutCommand = git.checkout().setCreateBranch(true).setName(branch) .setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.TRACK); if (remoteBranchExists(git)) { checkoutCommand.setStartPoint("origin/" + branch); } checkoutCommand.call(); } } catch (Exception e) { log.error(e.getMessage(), e); } return git; }
From source file:com.athomas.androidkickstartr.util.GitHubber.java
License:Apache License
public Repository createCommit(File srcFolder, String applicationName) throws IOException, GitAPIException { Repository repository = repositoryService.createRepository(new Repository().setName(applicationName)); String cloneUrl = repository.getCloneUrl(); InitCommand init = new InitCommand(); init.setDirectory(srcFolder);// w w w . j a v a 2s . c om init.setBare(false); Git git = init.call(); StoredConfig config = git.getRepository().getConfig(); config.setString("remote", "origin", "url", cloneUrl); config.save(); UsernamePasswordCredentialsProvider user = new UsernamePasswordCredentialsProvider(accessToken, ""); git.add().addFilepattern(".").call(); git.commit().setMessage(COMMIT_MESSAGE).call(); git.push().setCredentialsProvider(user).call(); return repository; }
From source file:com.barchart.jenkins.cascade.PluginScmGit.java
License:BSD License
/** * Short name of current branch./*from ww w . j av a2 s. co m*/ */ public static String branch(final File workspace) { try { final Git git = Git.open(workspace); return git.getRepository().getBranch(); } catch (final Throwable e) { throw new RuntimeException(e); } }
From source file:com.barchart.jenkins.cascade.PluginScmGit.java
License:BSD License
/** * Spec name of current branch./*from w w w .j a v a 2 s . co m*/ */ public static String branchSpec(final File workspace) { try { final Git git = Git.open(workspace); return git.getRepository().getFullBranch(); } catch (final Throwable e) { throw new RuntimeException(e); } }