Browse Source

Make PackReverseIndex a public structure

Repository inspection tools may find building a reverse index on a
pack useful, as they can then locate an object by offset. As both
C Git and JGit sometimes produce error messages with the offset
rather than the SHA-1, it may be useful to expose this type.

Change-Id: I487bf32e85a8985cf8ab382d4c82fcbe1fc7da6c
stable-1.1
Shawn O. Pearce 14 years ago
parent
commit
d16085b3b9
  1. 8
      org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackReverseIndex.java

8
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackReverseIndex.java

@ -61,7 +61,7 @@ import org.eclipse.jgit.storage.file.PackIndex.MutableEntry;
* @see PackIndex * @see PackIndex
* @see PackFile * @see PackFile
*/ */
class PackReverseIndex { public class PackReverseIndex {
/** Index we were created from, and that has our ObjectId data. */ /** Index we were created from, and that has our ObjectId data. */
private final PackIndex index; private final PackIndex index;
@ -88,7 +88,7 @@ class PackReverseIndex {
* @param packIndex * @param packIndex
* forward index - entries to (reverse) index. * forward index - entries to (reverse) index.
*/ */
PackReverseIndex(final PackIndex packIndex) { public PackReverseIndex(final PackIndex packIndex) {
index = packIndex; index = packIndex;
final long cnt = index.getObjectCount(); final long cnt = index.getObjectCount();
@ -135,7 +135,7 @@ class PackReverseIndex {
* start offset of object to find. * start offset of object to find.
* @return object id for this offset, or null if no object was found. * @return object id for this offset, or null if no object was found.
*/ */
ObjectId findObject(final long offset) { public ObjectId findObject(final long offset) {
if (offset <= Integer.MAX_VALUE) { if (offset <= Integer.MAX_VALUE) {
final int i32 = Arrays.binarySearch(offsets32, (int) offset); final int i32 = Arrays.binarySearch(offsets32, (int) offset);
if (i32 < 0) if (i32 < 0)
@ -164,7 +164,7 @@ class PackReverseIndex {
* @throws CorruptObjectException * @throws CorruptObjectException
* when there is no object with the provided offset. * when there is no object with the provided offset.
*/ */
long findNextOffset(final long offset, final long maxOffset) public long findNextOffset(final long offset, final long maxOffset)
throws CorruptObjectException { throws CorruptObjectException {
if (offset <= Integer.MAX_VALUE) { if (offset <= Integer.MAX_VALUE) {
final int i32 = Arrays.binarySearch(offsets32, (int) offset); final int i32 = Arrays.binarySearch(offsets32, (int) offset);

Loading…
Cancel
Save