Example usage for org.eclipse.jgit.lib RepositoryBuilder RepositoryBuilder

List of usage examples for org.eclipse.jgit.lib RepositoryBuilder RepositoryBuilder

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib RepositoryBuilder RepositoryBuilder.

Prototype

RepositoryBuilder

Source Link

Usage

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;
        }
    }
}