Merge "Expose some DFS APIs as public or protected"

This commit is contained in:
Shawn O. Pearce 2012-07-29 01:01:35 -04:00 committed by Gerrit Code Review @ Eclipse.org
commit 0be3b0f70e
3 changed files with 22 additions and 3 deletions

View File

@ -423,7 +423,8 @@ private static Map<DfsPackDescription, DfsPackFile> reuseMap(PackList old) {
return forReuse;
}
void clearCache() {
/** Clears the cached list of packs, forcing them to be scanned again. */
protected void clearCache() {
packList.set(NO_PACKS);
}

View File

@ -272,7 +272,19 @@ private PackReverseIndex getReverseIdx(DfsReader ctx) throws IOException {
}
}
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);
}

View File

@ -90,7 +90,13 @@
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.
* <p>
* 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];