]> source.dussan.org Git - jgit.git/commit
Show resolving deltas progress to push clients 82/2382/1
authorShawn O. Pearce <spearce@spearce.org>
Mon, 31 Jan 2011 15:07:05 +0000 (07:07 -0800)
committerShawn O. Pearce <spearce@spearce.org>
Mon, 31 Jan 2011 20:31:52 +0000 (12:31 -0800)
commit168114fd39a0829a5ce9a63bab248cf73c0c7e1e
tree92dffeb6c5c1bc2a3c4723bec1f481bb05746873
parentc2ab3421a25d8f218951e6c3186037cb0b4e3a34
Show resolving deltas progress to push clients

CGit push clients 1.6.6 and later support progress messages on the
side-band-64k channel during push, as this was introduced to handle
server side hook errors reported over smart HTTP.

Since JGit's delta resolution isn't always as fast as CGit's is,
a user may think the server has crashed and failed to report
status if the user pushed a lot of content and sees no feedback.
Exposing the progress monitor during the resolving deltas phase
will let the user know the server is still making forward progress.

This also helps BasePackPushConnection, which has a bounded timeout
on how long it will wait before assuming the remote server is dead.
Progress messages pushed down the side-band channel will reset the
read timer, helping the connection to stay alive and avoid timing
out before the remote side's work is complete.

Change-Id: I429c825e5a724d2f21c66f95526d9c49edcc6ca9
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/ObjectDirectoryPackParser.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java