From 69761dbcdd38791151c4fdd76c05c366cc3f7a68 Mon Sep 17 00:00:00 2001 From: Colby Ranger Date: Mon, 5 Aug 2013 14:33:55 -0700 Subject: [PATCH] Send no-progress option with NullProgressMonitor. The NullProgressMonitor does not report progress anywhere. Inform the server not to send progress by enabling the no-progress capability. Change-Id: Id18dbc754c814d1a5534a284c947030bf201c569 --- .../jgit/transport/BasePackFetchConnection.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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.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 @@ static enum MultiAck { private boolean noDone; + private boolean noProgress; + private String lockMessage; private PackLock packLock; @@ -320,7 +323,9 @@ public Collection getPackLocks() { * 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 @@ protected void doFetch(final ProgressMonitor monitor, final Collection want, final Set have, OutputStream outputStream) throws TransportException { try { + noProgress = monitor == NullProgressMonitor.INSTANCE; + markRefsAdvertised(); markReachable(have, maxTimeWanted(want)); @@ -480,6 +487,8 @@ private boolean sendWants(final Collection want) throws IOException { 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)