if (!cachedPacks.isEmpty())
throw new IOException(JGitText.get().cachedPacksPreventsIndexCreation);
+ long writeStart = System.currentTimeMillis();
final List<ObjectToPack> list = sortByName();
final PackIndexWriter iw;
int indexVersion = config.getIndexVersion();
else
iw = PackIndexWriter.createVersion(indexStream, indexVersion);
iw.write(list, packcsum);
+ stats.timeWriting += System.currentTimeMillis() - writeStart;
}
private List<ObjectToPack> sortByName() {
stats.timeWriting = System.currentTimeMillis() - writeStart;
stats.totalBytes = out.length();
stats.reusedPacks = Collections.unmodifiableList(cachedPacks);
+ stats.depth = depth;
for (Statistics.ObjectType typeStat : stats.objectTypes) {
if (typeStat == null)
Collection<CachedPack> reusedPacks;
+ int depth;
+
int deltaSearchNonEdgeObjects;
int deltasFound;
return objectTypes[typeCode];
}
+ /** @return true if the resulting pack file was a shallow pack. */
+ public boolean isShallow() {
+ return depth > 0;
+ }
+
+ /** @return depth (in commits) the pack includes if shallow. */
+ public int getDepth() {
+ return depth;
+ }
+
/**
* @return time in milliseconds spent enumerating the objects that need
* to be included in the output. This time includes any restarts
return timeWriting;
}
+ /** @return total time spent processing this pack. */
+ public long getTimeTotal() {
+ return timeCounting
+ + timeSearchingForReuse
+ + timeSearchingForSizes
+ + timeCompressing
+ + timeWriting;
+ }
+
/**
* @return get the average output speed in terms of bytes-per-second.
* {@code getTotalBytes() / (getTimeWriting() / 1000.0)}.