Example usage for org.eclipse.jgit.lib FileMode TYPE_FILE

List of usage examples for org.eclipse.jgit.lib FileMode TYPE_FILE

Introduction

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

Prototype

int TYPE_FILE

To view the source code for org.eclipse.jgit.lib FileMode TYPE_FILE.

Click Source Link

Document

Bit pattern for #TYPE_MASK matching #REGULAR_FILE .

Usage

From source file:com.google.gerrit.server.git.GitModules.java

License:Apache License

void load() throws IOException {
    Project.NameKey project = branch.getParentKey();
    logDebug("Loading .gitmodules of {} for project {}", branch, project);
    try {//from www  . j  av  a2  s.  c o  m
        orm.openRepo(project, false);
    } catch (NoSuchProjectException e) {
        throw new IOException(e);
    }
    OpenRepo or = orm.getRepo(project);

    ObjectId id = or.repo.resolve(branch.get());
    if (id == null) {
        throw new IOException("Cannot open branch " + branch.get());
    }
    RevCommit commit = or.rw.parseCommit(id);

    TreeWalk tw = TreeWalk.forPath(or.repo, GIT_MODULES, commit.getTree());
    if (tw == null || (tw.getRawMode(0) & FileMode.TYPE_MASK) != FileMode.TYPE_FILE) {
        return;
    }
    try {
        BlobBasedConfig bbc = new BlobBasedConfig(null, or.repo, commit, GIT_MODULES);
        subscriptions = subSecParserFactory.create(bbc, thisServer, branch).parseAllSections();
    } catch (ConfigInvalidException e) {
        throw new IOException("Could not read .gitmodule file of super project: " + branch.getParentKey(), e);
    }
}

From source file:com.google.gerrit.server.patch.PatchScriptBuilder.java

License:Apache License

private static boolean isBothFile(FileMode a, FileMode b) {
    return (a.getBits() & FileMode.TYPE_FILE) == FileMode.TYPE_FILE
            && (b.getBits() & FileMode.TYPE_FILE) == FileMode.TYPE_FILE;
}

From source file:com.google.gitiles.blame.BlameServlet.java

License:Open Source License

private static ObjectId resolveBlob(GitilesView view, RevWalk rw, ObjectId commitId) throws IOException {
    try {/*  w w  w  .  ja  va 2s  .com*/
        if (commitId == null || Strings.isNullOrEmpty(view.getPathPart())) {
            return null;
        }
        RevTree tree = rw.parseTree(commitId);
        TreeWalk tw = TreeWalk.forPath(rw.getObjectReader(), view.getPathPart(), tree);
        if (tw == null || (tw.getRawMode(0) & FileMode.TYPE_FILE) == 0) {
            return null;
        }
        return tw.getObjectId(0);
    } catch (IncorrectObjectTypeException e) {
        return null;
    }
}

From source file:com.google.gitiles.BlameServlet.java

License:Open Source License

private static ObjectId resolveBlob(GitilesView view, RevWalk rw, RevCommit commit) throws IOException {
    try {//  w ww. j  av a 2 s.c om
        TreeWalk tw = TreeWalk.forPath(rw.getObjectReader(), view.getPathPart(), commit.getTree());
        if ((tw.getRawMode(0) & FileMode.TYPE_FILE) == 0) {
            return null;
        }
        return tw.getObjectId(0);
    } catch (IncorrectObjectTypeException e) {
        return null;
    }
}

From source file:org.kie.commons.java.nio.fs.jgit.util.JGitUtil.java

License:Apache License

public static Pair<PathType, ObjectId> checkPath(final Git git, final String branchName, final String path) {
    checkNotNull("git", git);
    checkNotNull("path", path);
    checkNotEmpty("branchName", branchName);

    final String gitPath = fixPath(path);

    if (gitPath.isEmpty()) {
        return newPair(PathType.DIRECTORY, null);
    }//from  w w  w.j  av  a 2s.  c o m

    TreeWalk tw = null;
    try {
        final ObjectId tree = git.getRepository().resolve(branchName + "^{tree}");
        tw = new TreeWalk(git.getRepository());
        tw.setFilter(PathFilter.create(gitPath));
        tw.reset(tree);
        while (tw.next()) {
            if (tw.getPathString().equals(gitPath)) {
                if (tw.getFileMode(0).equals(FileMode.TYPE_TREE)) {
                    return newPair(PathType.DIRECTORY, tw.getObjectId(0));
                } else if (tw.getFileMode(0).equals(FileMode.TYPE_FILE)) {
                    return newPair(PathType.FILE, tw.getObjectId(0));
                }
            }
            if (tw.isSubtree()) {
                tw.enterSubtree();
                continue;
            }
        }
    } catch (final Throwable t) {
    } finally {
        if (tw != null) {
            tw.release();
        }
    }
    return newPair(PathType.NOT_FOUND, null);
}

From source file:org.kuali.student.svn.model.TestGitTreeNodeData.java

License:Educational Community License

@Test
public void testTopAndNestedDirectoryMerge() throws IOException {

    ObjectInserter inserter = repo.newObjectInserter();

    GitTreeData AFBTree = new GitTreeData(treeNodeInitializer);

    storeFile(inserter, AFBTree, "A.txt", "test content");

    storeFile(inserter, AFBTree, "F/B.txt", "test content");

    ObjectId AFBtreeId = AFBTree.buildTree(inserter);

    inserter.flush();//from  w ww  .j ava2s . c  o  m

    GitTreeData BFDTree = new GitTreeData(treeNodeInitializer);

    storeFile(inserter, BFDTree, "B.txt", "BD Tree content");
    storeFile(inserter, BFDTree, "F/D.txt", "test content");

    ObjectId BFDTreeId = BFDTree.buildTree(inserter);

    inserter.flush();

    GitTreeNodeData loadedAFB = treeProcessor.extractExistingTreeData(AFBtreeId, "test");

    GitTreeNodeData loadedBFD = treeProcessor.extractExistingTreeData(BFDTreeId, "test");

    loadedAFB.merge(loadedBFD);

    ObjectId mergedTreeId = loadedAFB.buildTree(inserter);

    inserter.flush();

    TreeWalk tw = new TreeWalk(repo);

    tw.setRecursive(false);

    tw.addTree(mergedTreeId);

    int depth = 0;

    Set<String> depthZeroExpectedFiles = new HashSet<>();

    depthZeroExpectedFiles.add("A.txt");
    depthZeroExpectedFiles.add("B.txt");

    Set<String> depthFExpectedFiles = new HashSet<>();

    depthFExpectedFiles.add("B.txt");
    depthFExpectedFiles.add("D.txt");

    while (tw.next()) {

        String name = tw.getNameString();

        if (tw.getFileMode(0).equals(FileMode.TYPE_FILE)) {

            if (depth == 0) {

                Assert.assertEquals(true, depthZeroExpectedFiles.contains(name));
            } else {
                Assert.assertEquals(true, depthFExpectedFiles.contains(name));
            }

        } else {
            tw.enterSubtree();
            depth++;
        }
    }

    tw.release();

}

From source file:org.uberfire.java.nio.fs.jgit.util.commands.GetPathInfo.java

License:Apache License

public PathInfo execute() throws IOException {

    final String gitPath = PathUtil.normalize(path);

    if (gitPath.isEmpty()) {
        return new PathInfo(null, gitPath, PathType.DIRECTORY);
    }/*from  ww w.  j  a v a  2 s .c om*/

    final ObjectId tree = git.getTreeFromRef(branchName);
    if (tree == null) {
        return new PathInfo(null, gitPath, PathType.NOT_FOUND);
    }
    try (final TreeWalk tw = new TreeWalk(git.getRepository())) {
        tw.setFilter(PathFilter.create(gitPath));
        tw.reset(tree);
        while (tw.next()) {
            if (tw.getPathString().equals(gitPath)) {
                if (tw.getFileMode(0).equals(FileMode.TYPE_TREE)) {
                    return new PathInfo(tw.getObjectId(0), gitPath, PathType.DIRECTORY);
                } else if (tw.getFileMode(0).equals(FileMode.TYPE_FILE)
                        || tw.getFileMode(0).equals(FileMode.EXECUTABLE_FILE)
                        || tw.getFileMode(0).equals(FileMode.REGULAR_FILE)) {
                    final long size = tw.getObjectReader().getObjectSize(tw.getObjectId(0), OBJ_BLOB);
                    return new PathInfo(tw.getObjectId(0), gitPath, PathType.FILE, size);
                }
            }
            if (tw.isSubtree()) {
                tw.enterSubtree();
            }
        }
    }
    return new PathInfo(null, gitPath, PathType.NOT_FOUND);
}

From source file:org.uberfire.java.nio.fs.jgit.util.JGitUtil.java

License:Apache License

public static Pair<PathType, ObjectId> checkPath(final Git git, final String branchName, final String path) {
    checkNotNull("git", git);
    checkNotNull("path", path);
    checkNotEmpty("branchName", branchName);

    final String gitPath = fixPath(path);

    if (gitPath.isEmpty()) {
        return newPair(PathType.DIRECTORY, null);
    }/*from  w w  w .  j  ava  2s  .  co m*/

    TreeWalk tw = null;
    try {
        final ObjectId tree = git.getRepository().resolve(branchName + "^{tree}");
        tw = new TreeWalk(git.getRepository());
        tw.setFilter(PathFilter.create(gitPath));
        tw.reset(tree);
        while (tw.next()) {
            if (tw.getPathString().equals(gitPath)) {
                if (tw.getFileMode(0).equals(FileMode.TYPE_TREE)) {
                    return newPair(PathType.DIRECTORY, tw.getObjectId(0));
                } else if (tw.getFileMode(0).equals(FileMode.TYPE_FILE)
                        || tw.getFileMode(0).equals(FileMode.EXECUTABLE_FILE)
                        || tw.getFileMode(0).equals(FileMode.REGULAR_FILE)) {
                    return newPair(PathType.FILE, tw.getObjectId(0));
                }
            }
            if (tw.isSubtree()) {
                tw.enterSubtree();
            }
        }
    } catch (final Throwable ignored) {
    } finally {
        if (tw != null) {
            tw.release();
        }
    }
    return newPair(PathType.NOT_FOUND, null);
}