Example usage for org.eclipse.jgit.api Git init

List of usage examples for org.eclipse.jgit.api Git init

Introduction

In this page you can find the example usage for org.eclipse.jgit.api Git init.

Prototype

public static InitCommand init() 

Source Link

Document

Return a command object to execute a init command

Usage

From source file:org.guvnor.ala.build.maven.executor.MavenTestUtils.java

License:Apache License

public static String createGitRepoWithPom(final File path, final InputStream pom, final File... files)
        throws Exception {
    File repo = new File(path, "repo");
    if (repo.exists() == false) {
        Files.createDirectory(repo.toPath());
    }//from ww w  . ja  v a2 s. co m
    Git git = Git.init().setDirectory(repo).call();
    String gitUrl = "file://" + repo.getAbsolutePath();

    FileUtils.copyInputStreamToFile(pom, new File(repo, "pom.xml"));
    AddCommand add = git.add();
    add.addFilepattern("pom.xml");
    for (File f : files) {
        add.addFilepattern(f.getName());
    }
    add.call();
    CommitCommand commit = git.commit();
    commit.setMessage("initial commit").call();
    return gitUrl;
}

From source file:org.jboss.arquillian.ce.template.GitAdapter.java

License:Open Source License

public static GitAdapter init(File gitDir) throws Exception {
    InitCommand init = Git.init();
    init.setDirectory(gitDir);// w ww .j  a v a2s.c  o  m
    return new GitAdapter(init.call(), gitDir);
}

From source file:org.jboss.as.controller.persistence.GitPersistenceResourceTestCase.java

License:Apache License

@Before
public void createDirectoriesAndFiles() throws Exception {
    root = new File("target", "standalone").toPath();
    Files.createDirectories(root);
    File baseDir = root.toAbsolutePath().toFile();
    File gitDir = new File(baseDir, Constants.DOT_GIT);
    if (!gitDir.exists()) {
        try (Git git = Git.init().setDirectory(baseDir).setGitDir(gitDir).call()) {
            git.commit().setMessage("Repository initialized").call();
        }/*from  w w  w . jav a 2  s. c  o m*/
    }
    repository = new FileRepositoryBuilder().setWorkTree(baseDir).setGitDir(gitDir).setup().build();
}

From source file:org.jboss.as.controller.persistence.RemoteGitPersistenceResourceTestCase.java

License:Apache License

@Before
public void createDirectoriesAndFiles() throws Exception {
    root = new File("target", "standalone").toPath();
    remoteRoot = new File("target", "remote").toPath().resolve("standalone");
    Files.createDirectories(remoteRoot);
    File baseDir = remoteRoot.toAbsolutePath().toFile();
    createFile(remoteRoot, "standard.xml", "std");
    File gitDir = new File(baseDir, Constants.DOT_GIT);
    if (!gitDir.exists()) {
        try (Git git = Git.init().setDirectory(baseDir).call()) {
            git.add().addFilepattern("standard.xml").call();
            git.commit().setMessage("Repository initialized").call();
        }/* www.j  a  v a 2  s. c o m*/
    }
    remoteRepository = new FileRepositoryBuilder().setWorkTree(baseDir).setGitDir(gitDir).setup().build();
    repository = new FileRepositoryBuilder().setWorkTree(root.toAbsolutePath().toFile())
            .setGitDir(new File(root.toAbsolutePath().toFile(), Constants.DOT_GIT)).setup().build();
}

From source file:org.jboss.as.server.controller.git.GitConfigurationPersister.java

License:Apache License

public GitConfigurationPersister(GitRepository gitRepository, ConfigurationFile file, QName rootElement,
        XMLElementReader<List<ModelNode>> rootParser, XMLElementWriter<ModelMarshallingContext> rootDeparser,
        boolean suppressLoad) {
    super(file.getBootFile(), rootElement, rootParser, rootDeparser, suppressLoad);
    root = file.getConfigurationDir().getParentFile().toPath();
    mainFile = file.getMainFile();/*from   w  ww .  j av a 2s  .c  o m*/
    this.gitRepository = gitRepository;
    File baseDir = root.toFile();
    try {
        File gitDir = new File(baseDir, Constants.DOT_GIT);
        if (!gitDir.exists()) {
            gitDir.mkdir();
        }
        if (gitRepository.isBare()) {
            Git.init().setDirectory(baseDir).setGitDir(gitDir).call();
            ServerLogger.ROOT_LOGGER.gitRespositoryInitialized(baseDir.getAbsolutePath());
        }
    } catch (IllegalStateException | GitAPIException e) {
        ControllerLogger.ROOT_LOGGER.error(e);
    }
}

From source file:org.jboss.as.server.controller.git.GitRepository.java

License:Apache License

public GitRepository(GitRepositoryConfiguration gitConfig)
        throws IllegalArgumentException, IOException, ConfigXMLParseException, GeneralSecurityException {
    this.basePath = gitConfig.getBasePath();
    this.branch = gitConfig.getBranch();
    this.ignored = gitConfig.getIgnored();
    this.defaultRemoteRepository = gitConfig.getRepository();
    File baseDir = basePath.toFile();
    File gitDir = new File(baseDir, DOT_GIT);
    if (gitConfig.getAuthenticationConfig() != null) {
        CredentialsProvider/*from  w w w . ja v  a 2s .c o m*/
                .setDefault(new ElytronClientCredentialsProvider(gitConfig.getAuthenticationConfig()));
    }
    if (gitDir.exists()) {
        try {
            repository = new FileRepositoryBuilder().setWorkTree(baseDir).setGitDir(gitDir).setup().build();
        } catch (IOException ex) {
            throw ServerLogger.ROOT_LOGGER.failedToPullRepository(ex, gitConfig.getRepository());
        }
        try (Git git = Git.wrap(repository)) {
            git.clean();
            if (!isLocalGitRepository(gitConfig.getRepository())) {
                String remote = getRemoteName(gitConfig.getRepository());
                checkoutToSelectedBranch(git);
                PullResult result = git.pull().setRemote(remote).setRemoteBranchName(branch)
                        .setStrategy(MergeStrategy.RESOLVE).call();
                if (!result.isSuccessful()) {
                    throw ServerLogger.ROOT_LOGGER.failedToPullRepository(null, gitConfig.getRepository());
                }
            } else {
                if (!this.branch.equals(repository.getBranch())) {
                    CheckoutCommand checkout = git.checkout().setName(branch);
                    checkout.call();
                    if (checkout.getResult().getStatus() == CheckoutResult.Status.ERROR) {
                        throw ServerLogger.ROOT_LOGGER.failedToPullRepository(null, gitConfig.getRepository());
                    }
                }
            }
        } catch (GitAPIException ex) {
            throw ServerLogger.ROOT_LOGGER.failedToPullRepository(ex, gitConfig.getRepository());
        }
    } else {
        if (isLocalGitRepository(gitConfig.getRepository())) {
            try (Git git = Git.init().setDirectory(baseDir).call()) {
                final AddCommand addCommand = git.add();
                addCommand.addFilepattern("data/content/");
                Path configurationDir = basePath.resolve("configuration");
                try (Stream<Path> files = Files.list(configurationDir)) {
                    files.filter(configFile -> !"logging.properties".equals(configFile.getFileName().toString())
                            && Files.isRegularFile(configFile))
                            .forEach(configFile -> addCommand.addFilepattern(getPattern(configFile)));
                }
                addCommand.call();
                createGitIgnore(git, basePath);
                git.commit().setMessage(ServerLogger.ROOT_LOGGER.repositoryInitialized()).call();
            } catch (GitAPIException | IOException ex) {
                throw ServerLogger.ROOT_LOGGER.failedToInitRepository(ex, gitConfig.getRepository());
            }
        } else {
            clearExistingFiles(basePath, gitConfig.getRepository());
            try (Git git = Git.init().setDirectory(baseDir).call()) {
                String remoteName = UUID.randomUUID().toString();
                StoredConfig config = git.getRepository().getConfig();
                config.setString("remote", remoteName, "url", gitConfig.getRepository());
                config.setString("remote", remoteName, "fetch",
                        "+" + R_HEADS + "*:" + R_REMOTES + remoteName + "/*");
                config.save();
                git.clean();
                git.pull().setRemote(remoteName).setRemoteBranchName(branch).setStrategy(MergeStrategy.RESOLVE)
                        .call();
                checkoutToSelectedBranch(git);
                if (createGitIgnore(git, basePath)) {
                    git.commit().setMessage(ServerLogger.ROOT_LOGGER.addingIgnored()).call();
                }
            } catch (GitAPIException ex) {
                throw ServerLogger.ROOT_LOGGER.failedToInitRepository(ex, gitConfig.getRepository());
            }
        }
        repository = new FileRepositoryBuilder().setWorkTree(baseDir).setGitDir(gitDir).setup().build();
    }
    ServerLogger.ROOT_LOGGER.usingGit();
}

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

License:Apache License

@Before
public void prepareEmptyRemoteRepository() throws Exception {
    emptyRemoteRoot = new File("target", "empty-remote").toPath();
    Files.createDirectories(emptyRemoteRoot);
    File gitDir = new File(emptyRemoteRoot.toFile(), Constants.DOT_GIT);
    if (!gitDir.exists()) {
        try (Git git = Git.init().setDirectory(emptyRemoteRoot.toFile()).call()) {
        }//from   w ww.  jav a2  s.  c o m
    }
    Assert.assertTrue(gitDir.exists());
    emptyRemoteRepository = new FileRepositoryBuilder().setWorkTree(emptyRemoteRoot.toFile()).setGitDir(gitDir)
            .setup().build();
}

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);
    }//  ww w .  j  av a2  s. c o 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.forge.addon.git.facet.GitFacetImpl.java

License:Open Source License

@Override
public boolean install() {
    Project project = getFaceted();/*from   w w  w .  j  a v a  2s  . c om*/
    // init git repo
    DirectoryResource rootDirectory = project.getRoot().reify(DirectoryResource.class);
    FileResource<?> gitDir = rootDirectory.getChild(GIT_DIRECTORY).reify(FileResource.class);
    if (!gitDir.exists()) {
        InitCommand init = Git.init();
        init.setDirectory(rootDirectory.getUnderlyingResourceObject());

        try {
            init.call().close();
        } catch (Exception e) {
            logger.log(Level.SEVERE, "Error while initializing directory", e);
        }
    }

    return true;
}

From source file:org.jboss.forge.git.GitFacet.java

License:Open Source License

@Override
public boolean install() {
    // init git repo
    FileResource<?> gitDir = project.getProjectRoot().getChildDirectory(".git").reify(FileResource.class);
    if (!gitDir.exists()) {
        InitCommand init = Git.init();
        init.setDirectory(project.getProjectRoot().getUnderlyingResourceObject());

        try {//from www  . j ava2s .c o m
            init.call();
        } catch (GitAPIException e) {
        }
    }

    return true;
}