git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: No progress from push when using bitmaps

From
Shawn Pearce <spearce@spearce.org>
Date
Mar 13, 2014, 22:01 UTC
Message-ID
<CAJo=hJu1WscibwectWzrUcoOV4-9xk4hBm1JA+RjONmgvZTXwQ@mail.gmail.com>
In-Reply-To
<20140313212626.GA23618@sigill.intra.peff.net>
On Thu, Mar 13, 2014 at 2:26 PM, Jeff King <peff@peff.net> wrote:
Show 24 quoted lines
> On Wed, Mar 12, 2014 at 05:21:21PM -0700, Shawn Pearce wrote:
>
>> Today I tried pushing a copy of linux.git from a client that had
>> bitmaps into a JGit server. The client stalled for a long time with no
>> progress, because it reused the existing pack. No progress appeared
>> while it was sending the existing file on the wire:
>>
>>   $ git push git://localhost/linux.git master
>>   Reusing existing pack: 2938117, done.
>>   Total 2938117 (delta 0), reused 0 (delta 0)
>>   remote: Resolving deltas:  66% (1637269/2455727)
>>
>> This is not the best user experience. :-(
>
> Yeah, I agree that sucks. I hadn't noticed it, as I don't typically have
> my client repos bitmapped (and on fetch, the interesting progress is
> coming from the local index-pack).
>
> It would definitely be good to have throughput measurements while
> writing out the pack. However, I'm not sure we have anything useful to
> count. We know the total number of objects we're reusing, but we're not
> actually parsing the data; we're just blitting it out as a stream. I
> think the progress code will need some refactoring to handle a
> throughput-only case.

Yes. I think JGit suffers from this same bug, and again we never noticed it because usually only the servers are bitmapped, not the clients.

pack-objects writes a throughput meter when its writing objects. Really just the bytes out/second would be enough to let the user know the client is working. Unfortunately I think that is still tied to the overall progress system having some other counter?

Previous: Jeff KingNext: Jeff King
Message 3 of 10 in “No progress from push when using bitmaps”
  1. Shawn PearceMar 13, 2014
  2. Jeff KingMar 13, 2014
  3. Shawn PearceMar 13, 2014
  4. Jeff KingMar 13, 2014
  5. Junio C HamanoMar 13, 2014
  6. Jeff KingMar 13, 2014
  7. Michael HaggertyMar 14, 2014
  8. Duy NguyenMar 14, 2014
  9. Jeff KingMar 14, 2014
  10. Duy NguyenMar 14, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.