List of usage examples for org.eclipse.jgit.lib RepositoryBuilder RepositoryBuilder
RepositoryBuilder
From source file:au.id.soundadvice.systemdesign.versioning.jgit.GitVersionControl.java
License:Open Source License
public GitVersionControl(Path path) throws IOException { try {/*from ww w .j a va 2 s .c o m*/ // Cribbed from Git.open, but with findGitDir rather than setGitDir // and extracting the location. FS fs = FS.DETECTED; RepositoryCache.FileKey key = RepositoryCache.FileKey.lenient(path.toFile(), fs); RepositoryBuilder builder = new RepositoryBuilder().setFS(fs).findGitDir(key.getFile()) .setMustExist(true); repositoryRoot = Paths.get(builder.getGitDir().getAbsolutePath()).getParent(); repo = new Git(builder.build()); checkCSVMergeDriver(repositoryRoot); } catch (RuntimeException ex) { throw new IOException(ex); } }
From source file:br.com.ingenieux.mojo.beanstalk.bundle.CodeCommitFastDeployMojo.java
License:Apache License
@Override protected Git getGitRepo() throws Exception { if (stagingDirectory.exists() && new File(stagingDirectory, "HEAD").exists()) { Git git = Git.open(stagingDirectory); git.fetch().setRemote(getRemoteUrl(null, null)).setProgressMonitor(new TextProgressMonitor()) .setRefSpecs(new RefSpec("refs/heads/master")).call(); } else {//www .j a va 2 s. c om Git.cloneRepository().setURI(getRemoteUrl(null, null)).setProgressMonitor(new TextProgressMonitor()) .setDirectory(stagingDirectory).setNoCheckout(true).setBare(true).call(); } Repository r = null; RepositoryBuilder b = new RepositoryBuilder().setGitDir(stagingDirectory).setWorkTree(sourceDirectory); r = b.build(); final Git git = Git.wrap(r); return git; }
From source file:co.bledo.gitmin.servlet.Git.java
License:Apache License
@Override public void init(final ServletConfig config) throws ServletException { log.entry(config);/*from ww w. j a va 2 s . c o m*/ setRepositoryResolver(new RepositoryResolver<HttpServletRequest>() { protected RepositoryBuilder builder = new RepositoryBuilder(); @Override public Repository open(HttpServletRequest arg0, String arg1) throws RepositoryNotFoundException, ServiceNotAuthorizedException, ServiceNotEnabledException, ServiceMayNotContinueException { log.debug("RESOLVING REPO: {}", arg1); File path = new File(GitminConfig.getGitRepositoriesPath() + "/" + arg1); Repository repo; try { repo = builder.setGitDir(path).readEnvironment().findGitDir().build(); } catch (IOException e) { log.catching(e); throw log.throwing(new RepositoryNotFoundException(path)); } return log.exit(repo); } }); super.init(new ServletConfig() { @Override public String getServletName() { return config.getServletName(); } @Override public ServletContext getServletContext() { return config.getServletContext(); } @Override public Enumeration<String> getInitParameterNames() { return config.getInitParameterNames(); } @Override public String getInitParameter(String arg0) { if ("base-path".equals(arg0)) { return GitminConfig.getGitRepositoriesPath(); } else if ("eport-all".equals(arg0)) { return GitminConfig.getGitExportAll(); } return config.getInitParameter(arg0); } }); log.exit(); }
From source file:co.bledo.gitmin.servlet.Review.java
License:Apache License
public Response commit(Request req) throws IOException, GitAPIException { String repoName = req.getParam("repo", ""); String hash = req.getParam("hash", ""); Git git = Git.open(new File(GitminConfig.getGitRepositoriesPath() + "/" + repoName)); /*/*w ww . j a va2 s . c o m*/ ByteArrayOutputStream baos1 = new ByteArrayOutputStream(); List<DiffEntry> diffTest = git.diff().setOutputStream(baos1) .setOldTree(getTreeIterator(git.getRepository(), hash)) .setNewTree(getTreeIterator(git.getRepository(), hash + "^")) .call(); System.out.println(baos1.toString()); */ RepositoryBuilder builder = new RepositoryBuilder(); Repository repo = builder.setGitDir(new File(GitminConfig.getGitRepositoriesPath() + "/" + repoName)) .readEnvironment().findGitDir().build(); RevWalk rw = new RevWalk(repo); ObjectId hashOid = repo.resolve(hash); RevCommit commit = rw.parseCommit(hashOid); RevCommit parent = rw.parseCommit(commit.getParent(0).getId()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); DiffFormatter df = new DiffFormatter(baos); df.setRepository(repo); df.setDiffComparator(RawTextComparator.DEFAULT); df.setDetectRenames(true); List<DiffEntry> diffs = df.scan(parent, commit); List<CommitInfo> commitInfos = new ArrayList<CommitInfo>(); for (DiffEntry diff : diffs) { CommitInfo nfo = new CommitInfo(); df.format(diff); nfo.diff = baos.toString(); nfo.oldContents = getFileContent(repo, parent, diff.getOldPath()); nfo.newContents = getFileContent(repo, parent, diff.getNewPath()); nfo.newFile = diff.getNewPath(); nfo.oldFile = diff.getOldPath(); commitInfos.add(nfo); } VelocityResponse resp = VelocityResponse.newInstance(req, this); resp.assign("nfolist", commitInfos); return log.exit(resp); }
From source file:com.amazonaws.eclipse.elasticbeanstalk.git.AWSGitPushCommand.java
License:Open Source License
private Repository initializeRepository() throws IOException { if (repoLocation == null) { throw new RuntimeException("No repository location specified"); }/*from w ww. j a va 2s . c om*/ if ((!repoLocation.exists() && !repoLocation.mkdirs()) || !repoLocation.isDirectory()) { throw new RuntimeException("Unable to initialize Git repository from location: " + repoLocation); } Repository repository = new RepositoryBuilder().setWorkTree(repoLocation).build(); if (!repository.getObjectDatabase().exists()) { repository.create(); } return repository; }
From source file:com.googlecode.ounit.GitQuestion.java
License:Open Source License
@Override protected void fetchQuestion() { File cacheDir = new File(WORKDIR, REPO_DIR); srcDir = new File(cacheDir, id + "-" + revision); if (srcDir.exists()) { getLog().debug("Question found in {}", srcDir); return;/*from w w w .ja v a 2s . co m*/ } try { getLog().debug("Checking out revision {} from {} to {}", new Object[] { revision, cloneDir, srcDir }); Git git = Git.wrap(new RepositoryBuilder().setMustExist(true) .setIndexFile(new File(srcDir, ".gitindex")).setGitDir(cloneDir).setWorkTree(srcDir).build()); git.checkout().setName(revision).call(); } catch (Exception e) { getLog().error("Error checking out revision " + revision + " from " + cloneDir, e); throw new RuntimeException("Failed to fetch question", e); } }
From source file:com.googlesource.gerrit.plugins.gitiles.FilteredRepository.java
License:Apache License
private static RepositoryBuilder toBuilder(Repository repo) { RepositoryBuilder b = new RepositoryBuilder().setGitDir(repo.getDirectory()).setFS(repo.getFS()); if (!repo.isBare()) { b.setWorkTree(repo.getWorkTree()).setIndexFile(repo.getIndexFile()); }/*from ww w . j a va2s.c o m*/ return b; }
From source file:com.microsoft.gittf.core.util.RepositoryUtil.java
License:Open Source License
/** * Creates a repository object in the specified directory * //from w w w . ja v a2s. c o m * @param gitDir * @return * @throws IOException */ public static Repository findRepository(final String gitDir) throws IOException { RepositoryBuilder repoBuilder = new RepositoryBuilder().setGitDir(gitDir != null ? new File(gitDir) : null) .readEnvironment().findGitDir(); boolean isBare = false; if (repoBuilder.getGitDir() == null) { isBare = true; repoBuilder.setGitDir(new File(".")); //$NON-NLS-1$ } Repository repository = repoBuilder.build(); if (isBare) { /* * if this is a bare repo we need to check if it has the * configuration */ GitTFConfiguration config = GitTFConfiguration.loadFrom(repository); if (config == null) { return null; } } if (!repository.getDirectory().exists() || !repository.getDirectory().isDirectory()) { String directoryName = repository.getDirectory().toString(); throw new IOException(Messages.formatString("RepositoryUtil.NotGitRepoExceptionFormat", directoryName)); //$NON-NLS-1$ } return repoBuilder.build(); }
From source file:com.microsoft.tfs.client.common.ui.teambuild.egit.repositories.GitRepositoriesMap.java
License:Open Source License
private List<Repository> findRegisteredRepositories() { final RepositoryUtil util = Activator.getDefault().getRepositoryUtil(); final List<String> repositoryFolders = util.getConfiguredRepositories(); final List<Repository> repositories = new ArrayList<Repository>(); for (final String repositoryFolder : repositoryFolders) { final File folder = new File(repositoryFolder); if (!folder.exists() || !folder.isDirectory()) { continue; }/*from w ww .j a v a 2 s.c o m*/ if (!folder.getName().equals(Constants.DOT_GIT) || !FileKey.isGitRepository(folder, FS.DETECTED)) { continue; } final RepositoryBuilder rb = new RepositoryBuilder().setGitDir(folder).setMustExist(true); try { repositories.add(rb.build()); } catch (final Exception e) { log.error("Error loading Git repository " + repositoryFolder, e); //$NON-NLS-1$ continue; } } return repositories; }
From source file:com.microsoft.tfs.client.eclipse.ui.egit.teamexplorer.TeamExplorerGitRepositoriesSection.java
License:Open Source License
private void loadRegisteredRepositories() { repositoryMap = new TreeMap<String, Repository>(); final List<String> repositoryFolders = Activator.getDefault().getRepositoryUtil() .getConfiguredRepositories(); for (final String repositoryFolder : repositoryFolders) { final File folder = new File(repositoryFolder); if (!folder.exists() || !folder.isDirectory()) { continue; }/*from w w w .j a v a 2 s .com*/ if (!folder.getName().equals(Constants.DOT_GIT) || !FileKey.isGitRepository(folder, FS.DETECTED)) { continue; } final RepositoryBuilder rb = new RepositoryBuilder().setGitDir(folder).setMustExist(true); try { final Repository repo = rb.build(); final StoredConfig repositoryConfig = repo.getConfig(); final Set<String> remotes = repositoryConfig.getSubsections(REMOTES_SECTION_NAME); for (final String remoteName : remotes) { final String remoteURL = repositoryConfig.getString(REMOTES_SECTION_NAME, remoteName, URL_VALUE_NAME); repositoryMap.put(remoteURL, repo); } } catch (final Exception e) { log.error("Error loading local Git repository " + repositoryFolder, e); //$NON-NLS-1$ continue; } } }