List of usage examples for org.eclipse.jgit.lib FileMode TYPE_FILE
int TYPE_FILE
To view the source code for org.eclipse.jgit.lib FileMode TYPE_FILE.
Click Source Link
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); }