Shallow fetch: Pass a DepthWalk to PackWriter
d385a7a5e5
(Shallow fetch: Respect "shallow" lines, 2016-08-03) forgot
that UploadPack wasn't passing a DepthWalk to PackWriter in the first
place. As a result, shallow clones fail:
java.lang.IllegalArgumentException: Shallow packs require a DepthWalk
at org.eclipse.jgit.internal.storage.pack.PackWriter.preparePack(PackWriter.java:756)
at org.eclipse.jgit.transport.UploadPack.sendPack(UploadPack.java:1497)
at org.eclipse.jgit.transport.UploadPack.sendPack(UploadPack.java:1381)
at org.eclipse.jgit.transport.UploadPack.service(UploadPack.java:774)
at org.eclipse.jgit.transport.UploadPack.upload(UploadPack.java:667)
at org.eclipse.jgit.http.server.UploadPackServlet.doPost(UploadPackServlet.java:191)
Change-Id: Ib0d8c2946eebfea910a2b767fb92e23da15d4749
This commit is contained in:
parent
d385a7a5e5
commit
f84370feaa
|
@ -1484,16 +1484,19 @@ else if (ref.getName().startsWith(Constants.R_HEADS))
|
|||
pw.setTagTargets(tagTargets);
|
||||
}
|
||||
|
||||
if (depth > 0)
|
||||
pw.setShallowPack(depth, unshallowCommits);
|
||||
|
||||
RevWalk rw = walk;
|
||||
if (depth > 0) {
|
||||
pw.setShallowPack(depth, unshallowCommits);
|
||||
rw = new DepthWalk.RevWalk(walk.getObjectReader(), depth);
|
||||
rw.assumeShallow(clientShallowCommits);
|
||||
}
|
||||
|
||||
if (wantAll.isEmpty()) {
|
||||
pw.preparePack(pm, wantIds, commonBase);
|
||||
} else {
|
||||
walk.reset();
|
||||
|
||||
ObjectWalk ow = walk.toObjectWalkWithSameObjects();
|
||||
ObjectWalk ow = rw.toObjectWalkWithSameObjects();
|
||||
pw.preparePack(pm, ow, wantAll, commonBase);
|
||||
rw = ow;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue