while (true) { try { myOwner.getPackOrRevisionFSFile(right); } catch (SVNException svne) { if (svne.getErrorMessage().getErrorCode() == SVNErrorCode.FS_NO_SUCH_REVISION) { long probe = left + (right - left)/2; try { myOwner.getPackOrRevisionFSFile(probe); left = probe; } catch (SVNException svne) {
while (true) { try { myOwner.getPackOrRevisionFSFile(right); } catch (SVNException svne) { if (svne.getErrorMessage().getErrorCode() == SVNErrorCode.FS_NO_SUCH_REVISION) { long probe = left + (right - left)/2; try { myOwner.getPackOrRevisionFSFile(probe); left = probe; } catch (SVNException svne) {
while (true) { try { myOwner.getPackOrRevisionFSFile(right); } catch (SVNException svne) { if (svne.getErrorMessage().getErrorCode() == SVNErrorCode.FS_NO_SUCH_REVISION) { long probe = left + (right - left)/2; try { myOwner.getPackOrRevisionFSFile(probe); left = probe; } catch (SVNException svne) {
private FSFile openAndSeekRevision(long revision, long offset) throws SVNException { ensureRevisionsExists(revision); FSFile file = getPackOrRevisionFSFile(revision); if (isPackedRevision(revision)) { long revOffset = getPackedOffset(revision); offset += revOffset; } file.seek(offset); return file; }
private FSFile openAndSeekRevision(long revision, long offset) throws SVNException { ensureRevisionsExists(revision); FSFile file = getPackOrRevisionFSFile(revision); if (isPackedRevision(revision)) { long revOffset = getPackedOffset(revision); offset += revOffset; } file.seek(offset); return file; }
public Map getChangedPaths() throws SVNException { FSFile file = getOwner().getPackOrRevisionFSFile(getRevision()); try { loadOffsets(file, FSID.ITEM_INDEX_CHANGES); file.seek(myChangesOffset); return fetchAllChanges(file, true); } finally { file.close(); } }
public Map getChangedPaths() throws SVNException { FSFile file = getOwner().getPackOrRevisionFSFile(getRevision()); try { loadOffsets(file); file.seek(myChangesOffset); return fetchAllChanges(file, true); } finally { file.close(); } }
public Map getChangedPaths() throws SVNException { FSFile file = getOwner().getPackOrRevisionFSFile(getRevision()); try { loadOffsets(file); file.seek(myChangesOffset); return fetchAllChanges(file, true); } finally { file.close(); } }
private FSFile openAndSeekRevision(long revision, long itemIndex) throws SVNException { ensureRevisionsExists(revision); FSFile file = getPackOrRevisionFSFile(revision); long offset; if (isUseLogAddressing()) { offset = lookupOffsetInIndex(file, revision, itemIndex); } else { if (isPackedRevision(revision)) { long revOffset = getPackedOffset(revision); itemIndex += revOffset; } offset = itemIndex; } file.seek(offset); return file; }
public FSRevisionNode getRootRevisionNode() throws SVNException { if (myRootRevisionNode == null) { FSFile file = getOwner().getPackOrRevisionFSFile(getRevision()); try { loadOffsets(file); file.seek(myRootOffset); Map headers = file.readHeader(); myRootRevisionNode = FSRevisionNode.fromMap(headers); } finally { file.close(); } } return myRootRevisionNode; }
public FSRevisionNode getRootRevisionNode() throws SVNException { if (myRootRevisionNode == null) { FSFile file = getOwner().getPackOrRevisionFSFile(getRevision()); try { loadOffsets(file); file.seek(myRootOffset); Map headers = file.readHeader(); myRootRevisionNode = FSRevisionNode.fromMap(headers); } finally { file.close(); } } return myRootRevisionNode; }
FSFile revFile = null; try { revFile = myOwner.getPackOrRevisionFSFile(rev); FSRepositoryUtil.loadRootChangesOffset(myOwner, rev, revFile, rootOffset, null); findMaxIDs(rev, revFile, rootOffset[0], maxNodeID, maxCopyID);
public FSRevisionNode getRootRevisionNode() throws SVNException { if (myRootRevisionNode == null) { if (false && isUseLogAddressing()) { FSRevisionNode rootRevisionNode = new FSRevisionNode(); rootRevisionNode.setId(FSID.createRevId(null, null, myRevision, FSID.ITEM_INDEX_ROOT_NODE)); rootRevisionNode.setType(SVNNodeKind.DIR); rootRevisionNode.setPredecessorId(null); rootRevisionNode.setCreatedPath("/"); myRootRevisionNode = rootRevisionNode; } else { FSFile file = getOwner().getPackOrRevisionFSFile(getRevision()); try { loadOffsets(file, FSID.ITEM_INDEX_ROOT_NODE); file.seek(myRootOffset); Map headers = file.readHeader(); myRootRevisionNode = FSRevisionNode.fromMap(headers); } finally { file.close(); } } } return myRootRevisionNode; }
FSFile revFile = null; try { revFile = myOwner.getPackOrRevisionFSFile(rev); FSRepositoryUtil.loadRootChangesOffset(myOwner, rev, revFile, rootOffset, null); findMaxIDs(rev, revFile, rootOffset[0], maxNodeID, maxCopyID);
FSFile revFile = null; try { revFile = myOwner.getPackOrRevisionFSFile(rev); FSRepositoryUtil.loadRootChangesOffset(myOwner, rev, revFile, rootOffset, null); findMaxIDs(rev, revFile, rootOffset[0], maxNodeID, maxCopyID);
private void checkRepresentation(FSFS fsfs, FSRepresentation representation, Object hint) throws SVNException { if (fsfs.isUseLogAddressing()) { final long startRevision = fsfs.getPackedBaseRevision(representation.getRevision()); if (hint != null) { //TODO: this can speedup algorithm somehow } FSFile revFile = null; if (revFile == null || true) { revFile = fsfs.getPackOrRevisionFSFile(representation.getRevision()); } hint = revFile;//TODO: this can speedup algorithm somehow final long offset = fsfs.lookupOffsetInIndex(revFile, representation.getRevision(), representation.getItemIndex()); final FSP2LEntry entry = lookupP2LEntry(revFile, representation.getRevision(), offset); if (entry == null || entry.getType().getCode() < FSP2LProtoIndex.ItemType.FILE_REP.getCode() || entry.getType().getCode() > FSP2LProtoIndex.ItemType.DIR_PROPS.getCode()) { SVNErrorMessage errorMessage = SVNErrorMessage.create(SVNErrorCode.FS_CORRUPT, "No representation found at offset {0} for item %s in revision {1}", new Object[]{new Long(offset), new Long(representation.getItemIndex())}); SVNErrorManager.error(errorMessage, SVNLogType.FSFS); } } else { //TODO createRepresentationState(); this assigns the "hint" } }