|
|
|
@ -957,7 +957,7 @@ public abstract class BaseReceivePack {
|
|
|
|
|
|
|
|
|
|
final ObjectWalk ow = new ObjectWalk(db); |
|
|
|
|
ow.setRetainBody(false); |
|
|
|
|
if (checkReferencedIsReachable) { |
|
|
|
|
if (baseObjects != null) { |
|
|
|
|
ow.sort(RevSort.TOPO); |
|
|
|
|
if (!baseObjects.isEmpty()) |
|
|
|
|
ow.sort(RevSort.BOUNDARY, true); |
|
|
|
@ -974,7 +974,7 @@ public abstract class BaseReceivePack {
|
|
|
|
|
RevObject o = ow.parseAny(have); |
|
|
|
|
ow.markUninteresting(o); |
|
|
|
|
|
|
|
|
|
if (checkReferencedIsReachable && !baseObjects.isEmpty()) { |
|
|
|
|
if (baseObjects != null && !baseObjects.isEmpty()) { |
|
|
|
|
o = ow.peel(o); |
|
|
|
|
if (o instanceof RevCommit) |
|
|
|
|
o = ((RevCommit) o).getTree(); |
|
|
|
@ -985,7 +985,7 @@ public abstract class BaseReceivePack {
|
|
|
|
|
|
|
|
|
|
RevCommit c; |
|
|
|
|
while ((c = ow.next()) != null) { |
|
|
|
|
if (checkReferencedIsReachable //
|
|
|
|
|
if (providedObjects != null //
|
|
|
|
|
&& !c.has(RevFlag.UNINTERESTING) //
|
|
|
|
|
&& !providedObjects.contains(c)) |
|
|
|
|
throw new MissingObjectException(c, Constants.TYPE_COMMIT); |
|
|
|
@ -996,7 +996,7 @@ public abstract class BaseReceivePack {
|
|
|
|
|
if (o.has(RevFlag.UNINTERESTING)) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
if (checkReferencedIsReachable) { |
|
|
|
|
if (providedObjects != null) { |
|
|
|
|
if (providedObjects.contains(o)) |
|
|
|
|
continue; |
|
|
|
|
else |
|
|
|
@ -1007,7 +1007,7 @@ public abstract class BaseReceivePack {
|
|
|
|
|
throw new MissingObjectException(o, Constants.TYPE_BLOB); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (checkReferencedIsReachable) { |
|
|
|
|
if (baseObjects != null) { |
|
|
|
|
for (ObjectId id : baseObjects) { |
|
|
|
|
o = ow.parseAny(id); |
|
|
|
|
if (!o.has(RevFlag.UNINTERESTING)) |
|
|
|
|