throws IOException, MissingObjectException,
StoredObjectRepresentationNotAvailableException {
ObjectReuseAsIs asis = (ObjectReuseAsIs) reader;
- ObjectToPack target = asis.newObjectToPack(obj);
+ ObjectToPack target = asis.newObjectToPack(obj, obj.getType());
PackWriter pw = new PackWriter(reader) {
@Override
package org.eclipse.jgit.storage.dfs;
-import org.eclipse.jgit.revwalk.RevObject;
+import org.eclipse.jgit.lib.AnyObjectId;
import org.eclipse.jgit.storage.pack.ObjectToPack;
import org.eclipse.jgit.storage.pack.StoredObjectRepresentation;
/** Length of the data section of the object. */
long length;
- DfsObjectToPack(RevObject obj) {
- super(obj);
+ DfsObjectToPack(AnyObjectId src, final int type) {
+ super(src, type);
}
@Override
import org.eclipse.jgit.lib.ProgressMonitor;
import org.eclipse.jgit.revwalk.ObjectWalk;
import org.eclipse.jgit.revwalk.RevCommit;
-import org.eclipse.jgit.revwalk.RevObject;
import org.eclipse.jgit.revwalk.RevWalk;
import org.eclipse.jgit.storage.pack.CachedPack;
import org.eclipse.jgit.storage.pack.ObjectReuseAsIs;
throw new MissingObjectException(objectId.copy(), typeHint);
}
- public DfsObjectToPack newObjectToPack(RevObject obj) {
- return new DfsObjectToPack(obj);
+ public DfsObjectToPack newObjectToPack(AnyObjectId objectId, int type) {
+ return new DfsObjectToPack(objectId, type);
}
private static final Comparator<DfsObjectRepresentation> REPRESENTATION_SORT = new Comparator<DfsObjectRepresentation>() {
package org.eclipse.jgit.storage.file;
-import org.eclipse.jgit.revwalk.RevObject;
+import org.eclipse.jgit.lib.AnyObjectId;
import org.eclipse.jgit.storage.pack.ObjectToPack;
import org.eclipse.jgit.storage.pack.StoredObjectRepresentation;
/** Length of the data section of the object. */
long length;
- LocalObjectToPack(RevObject obj) {
- super(obj);
+ LocalObjectToPack(AnyObjectId src, final int type) {
+ super(src, type);
}
@Override
import org.eclipse.jgit.lib.ObjectLoader;
import org.eclipse.jgit.lib.ObjectReader;
import org.eclipse.jgit.lib.ProgressMonitor;
-import org.eclipse.jgit.revwalk.RevObject;
import org.eclipse.jgit.storage.pack.CachedPack;
import org.eclipse.jgit.storage.pack.ObjectReuseAsIs;
import org.eclipse.jgit.storage.pack.ObjectToPack;
return sz;
}
- public LocalObjectToPack newObjectToPack(RevObject obj) {
- return new LocalObjectToPack(obj);
+ public LocalObjectToPack newObjectToPack(AnyObjectId objectId, int type) {
+ return new LocalObjectToPack(objectId, type);
}
public void selectObjectRepresentation(PackWriter packer,
import org.eclipse.jgit.errors.MissingObjectException;
import org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException;
+import org.eclipse.jgit.lib.AnyObjectId;
import org.eclipse.jgit.lib.ObjectReader;
import org.eclipse.jgit.lib.ProgressMonitor;
-import org.eclipse.jgit.revwalk.RevObject;
/**
* Extension of {@link ObjectReader} that supports reusing objects in packs.
* object state, such as to remember what file and offset contains the
* object's pack encoded data.
*
- * @param obj
- * identity of the object that will be packed. The object's
- * parsed status is undefined here. Implementers must not rely on
- * the object being parsed.
+ * @param objectId
+ * the id of the object that will be packed.
+ * @param type
+ * the Git type of the object that will be packed.
* @return a new instance for this object.
*/
- public ObjectToPack newObjectToPack(RevObject obj);
+ public ObjectToPack newObjectToPack(AnyObjectId objectId, int type);
/**
* Select the best object representation for a packer.
import org.eclipse.jgit.lib.AnyObjectId;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.ObjectId;
-import org.eclipse.jgit.revwalk.RevObject;
import org.eclipse.jgit.transport.PackedObjectInfo;
/**
flags = type << TYPE_SHIFT;
}
- /**
- * Construct for the specified object.
- *
- * @param obj
- * identity of the object that will be packed. The object's
- * parsed status is undefined here. Implementers must not rely on
- * the object being parsed.
- */
- public ObjectToPack(RevObject obj) {
- this(obj, obj.getType());
- }
-
/**
* @return delta base object id if object is going to be packed in delta
* representation; null otherwise - if going to be packed as a
}
private void addObject(final RevObject object, final int pathHashCode) {
+ addObject(object, object.getType(), pathHashCode);
+ }
+
+ private void addObject(
+ final AnyObjectId src, final int type, final int pathHashCode) {
final ObjectToPack otp;
if (reuseSupport != null)
- otp = reuseSupport.newObjectToPack(object);
+ otp = reuseSupport.newObjectToPack(src, type);
else
- otp = new ObjectToPack(object);
+ otp = new ObjectToPack(src, type);
otp.setPathHash(pathHashCode);
- objectsLists[object.getType()].add(otp);
+ objectsLists[type].add(otp);
objectsMap.add(otp);
}