diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/PackWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/PackWriter.java index b30e5f7c2..0c8210f64 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/PackWriter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/PackWriter.java @@ -718,12 +718,11 @@ public class PackWriter { final PackedObjectLoader reuse = open(otp); if (reuse != null) { try { - if (otp.isDeltaRepresentation()) { - writeDeltaObjectReuse(otp, reuse); - } else { + if (otp.isDeltaRepresentation()) + writeDeltaObjectHeader(otp, reuse); + else writeObjectHeader(otp.getType(), reuse.getSize()); - reuse.copyRawData(out, buf, windowCursor); - } + reuse.copyRawData(out, buf, windowCursor); } finally { reuse.endCopyRawData(); } @@ -773,7 +772,7 @@ public class PackWriter { } while (!deflater.finished()); } - private void writeDeltaObjectReuse(final ObjectToPack otp, + private void writeDeltaObjectHeader(final ObjectToPack otp, final PackedObjectLoader reuse) throws IOException { if (deltaBaseAsOffset && otp.getDeltaBase() != null) { writeObjectHeader(Constants.OBJ_OFS_DELTA, reuse.getRawSize()); @@ -792,7 +791,6 @@ public class PackWriter { otp.getDeltaBaseId().copyRawTo(buf, 0); out.write(buf, 0, Constants.OBJECT_ID_LENGTH); } - reuse.copyRawData(out, buf, windowCursor); } private void writeObjectHeader(final int objectType, long dataLength)