Browse Source

Merge "Decrease indentation in setupTipCommitBitmaps"

stable-4.2
Jonathan Nieder 9 years ago committed by Gerrit Code Review @ Eclipse.org
parent
commit
2e8b8e83e2
  1. 50
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriterBitmapPreparer.java

50
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriterBitmapPreparer.java

@ -339,18 +339,19 @@ class PackWriterBitmapPreparer {
if ((entry.getFlags() & FLAG_REUSE) != FLAG_REUSE) {
continue;
}
RevObject ro = rw.peel(rw.parseAny(entry));
if (ro instanceof RevCommit) {
RevCommit rc = (RevCommit) ro;
reuseCommits.add(new BitmapCommit(rc, false, entry.getFlags()));
rw.markUninteresting(rc);
// PackBitmapIndexRemapper.ofObjectType() ties the underlying
// bitmap in the old pack into the new bitmap builder.
bitmapRemapper.ofObjectType(bitmapRemapper.getBitmap(rc),
Constants.OBJ_COMMIT).trim();
reuse.add(rc, Constants.OBJ_COMMIT);
if (!(ro instanceof RevCommit)) {
continue;
}
RevCommit rc = (RevCommit) ro;
reuseCommits.add(new BitmapCommit(rc, false, entry.getFlags()));
rw.markUninteresting(rc);
// PackBitmapIndexRemapper.ofObjectType() ties the underlying
// bitmap in the old pack into the new bitmap builder.
bitmapRemapper.ofObjectType(bitmapRemapper.getBitmap(rc),
Constants.OBJ_COMMIT).trim();
reuse.add(rc, Constants.OBJ_COMMIT);
}
// Add branch tips that are not represented in old bitmap indices. Set
@ -360,16 +361,18 @@ class PackWriterBitmapPreparer {
Set<RevCommit> peeledWant = new HashSet<RevCommit>(want.size());
for (AnyObjectId objectId : want) {
RevObject ro = rw.peel(rw.parseAny(objectId));
if (ro instanceof RevCommit && !reuse.contains(ro)) {
RevCommit rc = (RevCommit) ro;
peeledWant.add(rc);
rw.markStart(rc);
BitmapBuilder bitmap = commitBitmapIndex.newBitmapBuilder();
bitmap.or(reuse);
bitmap.add(rc, Constants.OBJ_COMMIT);
tipCommitBitmaps.add(new BitmapBuilderEntry(rc, bitmap));
if (!(ro instanceof RevCommit) || reuse.contains(ro)) {
continue;
}
RevCommit rc = (RevCommit) ro;
peeledWant.add(rc);
rw.markStart(rc);
BitmapBuilder bitmap = commitBitmapIndex.newBitmapBuilder();
bitmap.or(reuse);
bitmap.add(rc, Constants.OBJ_COMMIT);
tipCommitBitmaps.add(new BitmapBuilderEntry(rc, bitmap));
}
// Create a list of commits in reverse order (older to newer).
@ -382,10 +385,11 @@ class PackWriterBitmapPreparer {
commits[--pos] = rc;
for (BitmapBuilderEntry entry : tipCommitBitmaps) {
BitmapBuilder bitmap = entry.getBuilder();
if (bitmap.contains(rc)) {
for (RevCommit c : rc.getParents()) {
bitmap.add(c, Constants.OBJ_COMMIT);
}
if (!bitmap.contains(rc)) {
continue;
}
for (RevCommit c : rc.getParents()) {
bitmap.add(c, Constants.OBJ_COMMIT);
}
}
pm.update(1);

Loading…
Cancel
Save