diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java index 7a30d251a..f49028e37 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java @@ -63,6 +63,7 @@ import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Config.SectionParser; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.MutableObjectId; +import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectInserter; import org.eclipse.jgit.lib.ProgressMonitor; @@ -221,6 +222,8 @@ public abstract class BasePackFetchConnection extends BasePackConnection private boolean noDone; + private boolean noProgress; + private String lockMessage; private PackLock packLock; @@ -320,7 +323,9 @@ public abstract class BasePackFetchConnection extends BasePackConnection * Execute common ancestor negotiation and fetch the objects. * * @param monitor - * progress monitor to receive status updates. + * progress monitor to receive status updates. If the monitor is + * the {@link NullProgressMonitor#INSTANCE}, then the no-progress + * option enabled. * @param want * the advertised remote references the caller wants to fetch. * @param have @@ -337,6 +342,8 @@ public abstract class BasePackFetchConnection extends BasePackConnection final Collection want, final Set have, OutputStream outputStream) throws TransportException { try { + noProgress = monitor == NullProgressMonitor.INSTANCE; + markRefsAdvertised(); markReachable(have, maxTimeWanted(want)); @@ -480,6 +487,8 @@ public abstract class BasePackFetchConnection extends BasePackConnection private String enableCapabilities() throws TransportException { final StringBuilder line = new StringBuilder(); + if (noProgress) + wantCapability(line, OPTION_NO_PROGRESS); if (includeTags) includeTags = wantCapability(line, OPTION_INCLUDE_TAG); if (allowOfsDelta)