diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java index b1290d955..32244c1b0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java @@ -423,7 +423,8 @@ public abstract class DfsObjDatabase extends ObjectDatabase { return forReuse; } - void clearCache() { + /** Clears the cached list of packs, forcing them to be scanned again. */ + protected void clearCache() { packList.set(NO_PACKS); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsPackFile.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsPackFile.java index 419e1e872..daad02a14 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsPackFile.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsPackFile.java @@ -272,7 +272,19 @@ public final class DfsPackFile { } } - boolean hasObject(DfsReader ctx, AnyObjectId id) throws IOException { + /** + * Check if an object is stored within this pack. + * + * @param ctx + * reader context to support reading from the backing store if + * the index is not already loaded in memory. + * @param id + * object to be located. + * @return true if the object exists in this pack; false if it does not. + * @throws IOException + * the pack index is not available, or is corrupt. + */ + public boolean hasObject(DfsReader ctx, AnyObjectId id) throws IOException { final long offset = idx(ctx).findOffset(id); return 0 < offset && !isCorrupt(offset); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsReader.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsReader.java index 3e2a0ad5c..6a76258ed 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsReader.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsReader.java @@ -90,7 +90,13 @@ import org.eclipse.jgit.storage.pack.PackOutputStream; import org.eclipse.jgit.storage.pack.PackWriter; import org.eclipse.jgit.util.BlockList; -final class DfsReader extends ObjectReader implements ObjectReuseAsIs { +/** + * Reader to access repository content through. + *

+ * See the base {@link ObjectReader} documentation for details. Notably, a + * reader is not thread safe. + */ +public final class DfsReader extends ObjectReader implements ObjectReuseAsIs { /** Temporary buffer large enough for at least one raw object id. */ final byte[] tempId = new byte[OBJECT_ID_LENGTH];