/** * Reset this parser to walk through the given tree data. * * @param treeData * the raw tree content. */ public void reset(byte[] treeData) { attributesNode = null; raw = treeData; prevPtr = -1; currPtr = 0; if (eof()) nextPtr = 0; else parseEntry(); }
/** {@inheritDoc} */ @Override public void next(int delta) { if (delta == 1) { // Moving forward one is the most common case. // prevPtr = currPtr; currPtr = nextPtr; if (!eof()) parseEntry(); return; } // Fast skip over records, then parse the last one. // final int end = raw.length; int ptr = nextPtr; while (--delta > 0 && ptr != end) { prevPtr = ptr; while (raw[ptr] != 0) ptr++; ptr += OBJECT_ID_LENGTH + 1; } if (delta != 0) throw new ArrayIndexOutOfBoundsException(delta); currPtr = ptr; if (!eof()) parseEntry(); }
private static CanonicalTreeParser enterTree(CanonicalTreeParser p, ObjectReader reader) throws IOException { p = p.createSubtreeIterator(reader); return p.eof() ? p.next() : p; }
if (!eof()) parseEntry(); return;
while (!p.eof()) { int mode = p.getEntryRawMode(); if (mode == TYPE_TREE) {
/** * Reset this parser to walk through the given tree data. * * @param treeData * the raw tree content. */ public void reset(final byte[] treeData) { attributesNode = null; raw = treeData; prevPtr = -1; currPtr = 0; if (eof()) nextPtr = 0; else parseEntry(); }
/** * Reset this parser to walk through the given tree data. * * @param treeData * the raw tree content. */ public void reset(byte[] treeData) { attributesNode = null; raw = treeData; prevPtr = -1; currPtr = 0; if (eof()) nextPtr = 0; else parseEntry(); }
@Override public void next(int delta) { if (delta == 1) { // Moving forward one is the most common case. // prevPtr = currPtr; currPtr = nextPtr; if (!eof()) parseEntry(); return; } // Fast skip over records, then parse the last one. // final int end = raw.length; int ptr = nextPtr; while (--delta > 0 && ptr != end) { prevPtr = ptr; while (raw[ptr] != 0) ptr++; ptr += OBJECT_ID_LENGTH + 1; } if (delta != 0) throw new ArrayIndexOutOfBoundsException(delta); currPtr = ptr; if (!eof()) parseEntry(); }
/** {@inheritDoc} */ @Override public void next(int delta) { if (delta == 1) { // Moving forward one is the most common case. // prevPtr = currPtr; currPtr = nextPtr; if (!eof()) parseEntry(); return; } // Fast skip over records, then parse the last one. // final int end = raw.length; int ptr = nextPtr; while (--delta > 0 && ptr != end) { prevPtr = ptr; while (raw[ptr] != 0) ptr++; ptr += OBJECT_ID_LENGTH + 1; } if (delta != 0) throw new ArrayIndexOutOfBoundsException(delta); currPtr = ptr; if (!eof()) parseEntry(); }
private static CanonicalTreeParser enterTree(CanonicalTreeParser p, ObjectReader reader) throws IOException { p = p.createSubtreeIterator(reader); return p.eof() ? p.next() : p; }
private static CanonicalTreeParser enterTree(CanonicalTreeParser p, ObjectReader reader) throws IOException { p = p.createSubtreeIterator(reader); return p.eof() ? p.next() : p; }
private boolean isTreeEmpty(RevTree tree) throws IOException { return new CanonicalTreeParser(GitRepository.emptyBytes, repository.newObjectReader(), tree).eof(); }
while (!parser.eof()) { int cmp = parser.pathCompare(pathBuf, ptr, end, mode);
@Nullable public static RevCommit loadOriginalCommit(@NotNull ObjectReader reader, @Nullable ObjectId cacheCommit) throws IOException { final RevWalk revWalk = new RevWalk(reader); if (cacheCommit != null) { final RevCommit revCommit = revWalk.parseCommit(cacheCommit); revWalk.parseTree(revCommit.getTree()); final CanonicalTreeParser treeParser = new CanonicalTreeParser(GitRepository.emptyBytes, reader, revCommit.getTree()); while (!treeParser.eof()) { if (treeParser.getEntryPathString().equals(ENTRY_COMMIT_REF)) { return revWalk.parseCommit(treeParser.getEntryObjectId()); } treeParser.next(); } } return null; }
@NotNull public Iterable<GitTreeEntry> loadTree(@Nullable GitTreeEntry tree) throws IOException { final GitObject<ObjectId> treeId = getTreeObject(tree); // Loading tree. if (treeId == null) { return Collections.emptyList(); } final List<GitTreeEntry> result = new ArrayList<>(); final Repository repo = treeId.getRepo(); final CanonicalTreeParser treeParser = new CanonicalTreeParser(GitRepository.emptyBytes, repo.newObjectReader(), treeId.getObject()); while (!treeParser.eof()) { result.add(new GitTreeEntry( treeParser.getEntryFileMode(), new GitObject<>(repo, treeParser.getEntryObjectId()), treeParser.getEntryPathString() )); treeParser.next(); } return result; }
private void onTree(byte[] data) { if (isSaveAsCachedPack()) { treeParser.reset(data); while (!treeParser.eof()) { idBuffer.fromRaw(treeParser.idBuffer(), treeParser.idOffset()); lookupByName(idBuffer).setReferenced(); treeParser.next(); } } }
private void onTree(byte[] data) { if (isSaveAsCachedPack()) { treeParser.reset(data); while (!treeParser.eof()) { idBuffer.fromRaw(treeParser.idBuffer(), treeParser.idOffset()); lookupByName(idBuffer).setReferenced(); treeParser.next(); } } }
while (!p.eof()) { int mode = p.getEntryRawMode(); if (mode == TYPE_TREE) {