Example usage for org.eclipse.jgit.storage.file FileRepositoryBuilder FileRepositoryBuilder

List of usage examples for org.eclipse.jgit.storage.file FileRepositoryBuilder FileRepositoryBuilder

Introduction

In this page you can find the example usage for org.eclipse.jgit.storage.file FileRepositoryBuilder FileRepositoryBuilder.

Prototype

FileRepositoryBuilder

Source Link

Usage

From source file:org.jboss.as.test.manualmode.management.persistence.RemoteGitRepositoryTestCase.java

License:Apache License

@Before
public void prepareTest() throws Exception {
    remoteRoot = new File("target", "remote").toPath();
    Path repoConfigDir = remoteRoot.resolve("configuration");
    Files.createDirectories(repoConfigDir);
    File baseDir = remoteRoot.toAbsolutePath().toFile();
    PathUtil.copyRecursively(getJbossServerBaseDir().resolve("configuration"), repoConfigDir, true);
    Path properties = repoConfigDir.resolve("logging.properties");
    if (Files.exists(properties)) {
        Files.delete(properties);
    }//from www.  ja v a2 s . co  m
    File gitDir = new File(baseDir, Constants.DOT_GIT);
    if (!gitDir.exists()) {
        try (Git git = Git.init().setDirectory(baseDir).call()) {
            git.add().addFilepattern("configuration").call();
            git.commit().setMessage("Repository initialized").call();
        }
    }
    remoteRepository = new FileRepositoryBuilder().setWorkTree(baseDir).setGitDir(gitDir).setup().build();
}

From source file:org.jboss.maven.plugins.qstools.ArchetypeSyncMojo.java

License:Apache License

/**
 * Apply a path file to the generated archetype
 * // www.j a v a 2s.  co m
 * @throws IOException
 * @throws GitAPIException
 * @throws PatchApplyException
 * @throws PatchFormatException
 * 
 * @see {@link ArchetypeSyncMojo#applyPatch}
 */
private void applyPatch() throws IOException, PatchApplyException {
    if (this.applyPatch != null) {
        FileRepositoryBuilder builder = new FileRepositoryBuilder();
        Repository repository = builder.findGitDir(new File(baseDir)).build();

        Git git = new Git(repository);
        ApplyCommand applyCommand = git.apply();
        applyCommand.setPatch(new FileInputStream(applyPatch));
        try {
            applyCommand.call();
        } catch (GitAPIException e) {
            throw new PatchApplyException("Can't apply " + applyPatch, e);
        }
        getLog().info("Patch " + applyPatch + " applied");
    }
}

From source file:org.jboss.tools.tycho.sitegenerator.GenerateRepositoryFacadeMojo.java

License:Open Source License

private ModelNode createRevisionObject() throws IOException, FileNotFoundException {
    ModelNode res = new ModelNode();
    File repoRoot = findRepoRoot(this.project.getBasedir());
    FileRepositoryBuilder builder = new FileRepositoryBuilder();
    Repository gitRepo = builder.setGitDir(new File(repoRoot, ".git")).readEnvironment() // scan environment GIT_* variables
            .findGitDir() // scan up the file system tree
            .build();//from w  ww.ja v a2 s  . c  o m
    Ref head = gitRepo.getRef(Constants.HEAD);
    res.get("HEAD").set(head.getObjectId().getName());
    if (head.getTarget() != null && head.getTarget().getName() != null) {
        res.get("currentBranch").set(head.getTarget().getName());
    }
    ModelNode knownReferences = new ModelNode();
    for (Entry<String, Ref> entry : gitRepo.getAllRefs().entrySet()) {
        if (entry.getKey().startsWith(Constants.R_REMOTES)
                && entry.getValue().getObjectId().getName().equals(head.getObjectId().getName())) {
            ModelNode reference = new ModelNode();
            String remoteName = entry.getKey().substring(Constants.R_REMOTES.length());
            remoteName = remoteName.substring(0, remoteName.indexOf('/'));
            String remoteUrl = gitRepo.getConfig().getString("remote", remoteName, "url");
            String branchName = entry.getKey()
                    .substring(Constants.R_REMOTES.length() + 1 + remoteName.length());
            reference.get("name").set(remoteName);
            reference.get("url").set(remoteUrl);
            reference.get("ref").set(branchName);
            knownReferences.add(reference);
        }
    }
    res.get("knownReferences").set(knownReferences);
    return res;
}

From source file:org.jclarity.GitReleaseRollback.java

License:Apache License

private void deleteTag() {
    try {//from   w w  w  .  j  ava  2  s  . c o m
        FileRepositoryBuilder builder = new FileRepositoryBuilder();

        FileRepository db = builder.findGitDir(baseDir).readEnvironment().findGitDir().build();

        Git git = new Git(db);

        String scmTag = releaseProperties.getProperty("scm.tag");
        List<String> result = git.tagDelete().setTags(scmTag).call();
        for (String tag : result) {
            git.push().add(":" + tag).call();
        }
    } catch (IOException e) {
        throw new RuntimeException("Failed to read git repo data", e);
    } catch (GitAPIException e) {
        throw new RuntimeException("Failed to remove tag", e);
    }
}

From source file:org.jenkinsci.git.FileRepositoryOperation.java

License:Open Source License

public Repository invoke(File file, VirtualChannel channel) throws IOException {
    String directory = repo.getDirectory();
    File gitDir;//  w  ww.  ja  va2 s  .c  o  m
    if (directory == null || directory.length() == 0 || ".".equals(directory))
        gitDir = file;
    else
        gitDir = new File(file, directory);
    FileRepositoryBuilder builder = new FileRepositoryBuilder();
    builder.setFS(FS.DETECTED);
    if (Constants.DOT_GIT.equals(gitDir.getName()))
        builder.setGitDir(gitDir);
    else
        builder.setWorkTree(gitDir);
    builder.setMustExist(true);
    try {
        return builder.build();
    } catch (RepositoryNotFoundException rnfe) {
        return null;
    }
}

From source file:org.kabir.github.merges.model.GitRepositoryManager.java

License:Open Source License

public String viewCheckout(String name) {
    if (this.gitRepositoryDetails == null || this.gitRepositoryDetails.getName() == null
            || !this.gitRepositoryDetails.getName().equals(name)) {
        this.gitRepositoryDetails = GitRepositoryDetails.load(userConfig, name);
    }//from   www  .  ja  v  a 2  s.c  o m
    if (this.gitRepositoryDetails.getPassword() == null) {
        return "password";
    }
    if (!initGitHubHelperAndAuthenticate()) {
        facesContext.addMessage(null, new FacesMessage("Wrong password"));
        return "password";
    }

    File checkoutDir = Util
            .getExistingDirectory(new File(userConfig.getCheckoutsDirectory(), name).getAbsolutePath());
    Git git = null;
    BranchManager branchManager = null;
    try {
        Repository repository = new FileRepositoryBuilder().setWorkTree(checkoutDir).readEnvironment().build();
        git = Git.wrap(repository);
        branchManager = new BranchManager(git, gitRepositoryDetails.getMainBranch(),
                gitRepositoryDetails.getTestingBranch());
    } catch (Exception e) {
        facesContext.addMessage(null, new FacesMessage("Error loading the repository " + e.getMessage()));
        return "error";
    }

    branchStatus = new BranchStatus(branchManager);
    return "view";
}

From source file:org.kuali.student.git.model.GitRepositoryUtils.java

License:Educational Community License

public static Repository buildFileRepository(File repositoryPath, boolean create, boolean bare)
        throws IOException {

    FileRepositoryBuilder builder = new FileRepositoryBuilder();

    if (bare) {/*from ww w.  j  av a 2s.com*/
        builder = builder.setGitDir(repositoryPath);
    } else {
        builder.setWorkTree(repositoryPath);
    }

    builder = builder.readEnvironment();

    Repository repo = builder.build();

    if (create)
        repo.create(bare);

    return repo;
}

From source file:org.kuali.student.git.tools.GitExtractor.java

License:Educational Community License

public void buildRepository(File repositoryPath) throws IOException {

    FileRepositoryBuilder builder = new FileRepositoryBuilder();

    builder = builder.setGitDir(repositoryPath);

    builder = builder.readEnvironment();

    builder = builder.findGitDir();//from w w w.j  a va2 s .c  o  m

    repository = builder.build();

}

From source file:org.modeshape.connector.git.GitConnector.java

License:Apache License

@Override
public void initialize(NamespaceRegistry registry, NodeTypeManager nodeTypeManager)
        throws RepositoryException, IOException {
    super.initialize(registry, nodeTypeManager);

    // Verify the local git repository exists ...
    File dir = new File(directoryPath);
    if (!dir.exists() || !dir.isDirectory()) {
        throw new RepositoryException(GitI18n.directoryDoesNotExist.text(dir.getAbsolutePath()));
    }//from  w w  w .j  a  v  a  2 s . c o m
    if (!dir.canRead()) {
        throw new RepositoryException(GitI18n.directoryCannotBeRead.text(dir.getAbsolutePath()));
    }
    File gitDir = dir;
    if (!GIT_DIRECTORY_NAME.equals(gitDir.getName())) {
        gitDir = new File(dir, ".git");
        if (!gitDir.exists() || !gitDir.isDirectory()) {
            throw new RepositoryException(GitI18n.directoryDoesNotExist.text(gitDir.getAbsolutePath()));
        }
        if (!gitDir.canRead()) {
            throw new RepositoryException(GitI18n.directoryCannotBeRead.text(gitDir.getAbsolutePath()));
        }
    }

    values = new Values(factories(), getContext().getBinaryStore());

    // Set up the repository instance. We expect it to exist, and will use it as a "bare" repository (meaning
    // that no working directory will be used nor needs to exist) ...
    repository = new FileRepositoryBuilder().setGitDir(gitDir).setMustExist(true).setBare().build();
    git = new Git(repository);

    // Make sure the remote exists ...
    Set<String> remoteNames = repository.getConfig().getSubsections("remote");
    parsedRemoteNames = new ArrayList<String>();
    String remoteName = null;
    for (String desiredName : this.remoteName.split(",")) {
        if (remoteNames.contains(desiredName)) {
            remoteName = desiredName;
            parsedRemoteNames.add(desiredName);
            break;
        }
    }
    if (remoteName == null) {
        throw new RepositoryException(
                GitI18n.remoteDoesNotExist.text(this.remoteName, gitDir.getAbsolutePath()));
    }
    this.remoteName = remoteName;

    // Register the different functions ...
    functions = new HashMap<String, GitFunction>();
    pageableFunctions = new HashMap<String, PageableGitFunction>();
    register(new GitRoot(this), new GitBranches(this), new GitTags(this), new GitHistory(this),
            new GitCommitDetails(this), new GitTree(this));

    // Register the Git-specific node types ...
    InputStream cndStream = getClass().getClassLoader().getResourceAsStream(GIT_CND_PATH);
    nodeTypeManager.registerNodeTypes(cndStream, true);

}

From source file:org.mule.module.git.GitConnector.java

License:Open Source License

private Repository getGitRepo(String overrideDirectory) throws IOException {
    File dir = resolveDirectory(overrideDirectory);
    if (!dir.exists()) {
        throw new RuntimeException("Directory " + dir.getAbsolutePath() + " does not exists");
    }//from   w  w w  .jav a  2s  . c o m

    FileRepositoryBuilder builder = new FileRepositoryBuilder();
    builder.setWorkTree(dir);
    //        builder.setGitDir(dir);
    //        builder.readEnvironment();
    //        builder.findGitDir();
    return builder.build();
}