Example usage for org.eclipse.jgit.lib Repository getDirectory

List of usage examples for org.eclipse.jgit.lib Repository getDirectory

Introduction

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

Prototype


public File getDirectory() 

Source Link

Document

Get local metadata directory

Usage

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

License:Open Source License

/**
 * Resolve a repository in a root directory
 *
 * @throws Exception/*ww w .  java  2s  .  c  om*/
 */
@Test
public void resolveExisting() throws Exception {
    BuildRepository buildRepo = new BuildRepository("a", "b", null);
    FileRepositoryOperation op = new FileRepositoryOperation(buildRepo);
    Repository repo = op.invoke(git.repo().getDirectory(), null);
    assertNotNull(repo);
    assertEquals(git.repo().getDirectory(), repo.getDirectory());
}

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

License:Open Source License

/**
 * Initialize and resolve a repository// w w w  . j av a  2  s  .  c om
 *
 * @throws Exception
 */
@Test
public void initAndResolveRepository() throws Exception {
    BuildRepository repo = new BuildRepository(git.repo().getDirectory().toURI().toString(),
            BuildRepository.BRANCH_DEFAULT, null);
    InitOperation op = new InitOperation(repo);
    File dir = git.tempDirectory();
    Repository gitRepo = op.invoke(dir, null);
    assertNotNull(repo);
    FileRepositoryOperation resolveOp = new FileRepositoryOperation(repo);
    Repository resolved = resolveOp.invoke(dir, null);
    assertNotNull(resolved);
    assertEquals(gitRepo.getDirectory(), resolved.getDirectory());
}

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

License:Open Source License

/**
 * List remote on empty repository/*from  w w w .  j  a  v a 2s .c  o  m*/
 *
 * @throws Exception
 */
@Test
public void listEmptyRemote() throws Exception {
    Repository gitRepo = git.repo();
    BuildRepository repo = new BuildRepository(gitRepo.getDirectory().toURI().toString(),
            Constants.R_HEADS + Constants.MASTER, null);
    LsRemoteOperation op = new LsRemoteOperation(repo, gitRepo);
    assertNull(op.call());
}

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

License:Open Source License

/**
 * List remote on empty repository/*ww w. j ava2  s . co m*/
 *
 * @throws Exception
 */
@Test
public void listRemote() throws Exception {
    Repository gitRepo = git.repo();
    BuildRepository repo = new BuildRepository(gitRepo.getDirectory().toURI().toString(),
            Constants.R_HEADS + Constants.MASTER, null);
    LsRemoteOperation op = new LsRemoteOperation(repo, gitRepo);
    RevCommit commit1 = git.add("file.txt", "a");
    assertEquals(commit1, op.call());
    RevCommit commit2 = git.add("file.txt", "b");
    assertEquals(commit2, op.call());
}

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

License:Open Source License

/**
 * Testing initially cloning a repository and then fetching a new commit and
 * then another new commit//ww  w. ja v  a2 s. c o  m
 *
 * @throws Exception
 */
@Test
public void checkoutThreeSequentialSingleCommits() throws Exception {
    File dir = git.tempDirectory();
    File gitDir = new File(dir, Constants.DOT_GIT);
    File log = File.createTempFile("log", ".txt");
    BuildRepository repo = new BuildRepository(git.repo().getDirectory().toURI().toString(),
            BuildRepository.BRANCH_DEFAULT, null);

    RevCommit commit1 = git.add("file.txt", "content");

    RepositoryCheckoutOperation op = new RepositoryCheckoutOperation(Collections.singletonList(repo),
            new FilePath(log));
    assertTrue(op.invoke(dir, null));

    CommitLogReader reader = new CommitLogReader();
    CommitLog cl = reader.parse(null, log);
    assertNotNull(cl);
    assertFalse(cl.isEmptySet());
    assertEquals(1, cl.toArray().length);
    assertEquals(commit1.name(), cl.iterator().next().getCommitId());
    assertTrue(log.delete());
    assertTrue(log.createNewFile());

    Repository gitRepo = new FileRepository(gitDir);
    assertFalse(git.repo().getDirectory().equals(gitRepo.getDirectory()));
    assertEquals(commit1, CommitUtils.getLatest(gitRepo));

    RevCommit commit2 = git.add("file.txt", "new content");
    assertTrue(op.invoke(dir, null));
    assertEquals(commit2, CommitUtils.getLatest(gitRepo));

    cl = reader.parse(null, log);
    assertNotNull(cl);
    assertFalse(cl.isEmptySet());
    assertEquals(1, cl.toArray().length);
    assertEquals(commit2.name(), cl.iterator().next().getCommitId());

    RevCommit commit3 = git.add("file.txt", "less content");
    assertTrue(op.invoke(dir, null));
    assertEquals(commit3, CommitUtils.getLatest(gitRepo));

    cl = reader.parse(null, log);
    assertNotNull(cl);
    assertFalse(cl.isEmptySet());
    assertEquals(1, cl.toArray().length);
    assertEquals(commit3.name(), cl.iterator().next().getCommitId());
}

From source file:org.kercoin.magrit.core.build.QueueServiceImpl.java

License:Open Source License

private Repository findBuildPlace(Repository repository) throws IOException {
    String originalPath = repository.getDirectory().getAbsolutePath();
    String targetPath = originalPath.replaceFirst(
            context.configuration().getRepositoriesHomeDir().getAbsolutePath(),
            context.configuration().getWorkHomeDir().getAbsolutePath());
    File workTree = new File(targetPath);
    workTree.mkdirs();/*from   w  ww.  j a va 2 s .c o m*/
    Repository workRepo = new RepositoryBuilder().setWorkTree(workTree).build();
    if (!workRepo.getDirectory().exists()) {
        workRepo.create(false);
    }
    return workRepo;
}

From source file:org.kercoin.magrit.core.build.RepositoryGuard.java

License:Open Source License

CriticalResource get(Repository repo) {
    CriticalResource cr = locks.get(repo.getDirectory());
    if (cr == null) {
        cr = new CR();
        locks.put(repo.getDirectory(), cr);
    }/*ww  w. java2 s . c  om*/
    return cr;
}

From source file:org.kercoin.magrit.core.build.StatusesServiceImpl.java

License:Open Source License

@Override
public List<Status> getStatus(Repository repository, String sha1) {
    if (repository == null) {
        throw new NullPointerException("Repository can't be null");
    }//  w  w w .  j a v a  2s  . c om
    if (sha1 == null) {
        throw new NullPointerException("SHA1 can't be null");
    }

    log.info("Checking status for {} @ {}", repository.getDirectory(), sha1);
    if (!containsCommit(repository, sha1)) {
        log.warn(String.format("Commit %s unknown in repository %s", sha1, repository.getDirectory()));
        return Arrays.asList(Status.UNKNOWN);
    }

    List<Status> statuses = new ArrayList<Status>();

    for (BuildResult result : dao.getAll(repository, sha1)) {
        statuses.add(result.getExitCode() == 0 ? Status.OK : Status.ERROR);
    }

    switch (getState(sha1)) {
    case RUNNING:
        statuses.add(Status.RUNNING);
        break;
    case PENDING:
        statuses.add(Status.PENDING);
        break;
    case NONE:
        if (statuses.isEmpty()) {
            statuses.add(Status.NEW);
        }
        break;
    }

    return statuses;
}

From source file:org.kercoin.magrit.core.user.UserIdentityServiceImplTest.java

License:Open Source License

private static void closeRepo(Repository... repos) {
    for (Repository repo : repos) {
        if (repo != null) {
            repo.close();// ww  w  .j  a  v  a  2s . com
            tests.FilesUtils.recursiveDelete(repo.getDirectory().getParentFile());
            repo = null;
        }
    }
}

From source file:org.kercoin.magrit.core.user.UserIdentityServiceImplTest.java

License:Open Source License

private Context createCtx(Repository dbRepo) {
    Context ctx = new Context(new GitUtils());
    ctx.configuration().setPublickeysRepositoryDir(dbRepo.getDirectory().getParentFile());
    return ctx;//from   w ww .  j  a  v a2  s .c  o m
}