From: "Shawn O. Pearce" <spearce@spearce.org>
To: Nicolas Pitre <nico@cam.org>
Cc: Robin Rosenberg <robin.rosenberg@dewire.com>, git@vger.kernel.org
Subject: Re: [JGIT PATCH] Improve the sideband progress scaper to be more accurate
Date: Tue, 6 Jan 2009 11:27:47 -0800 [thread overview]
Message-ID: <20090106192747.GD24578@spearce.org> (raw)
In-Reply-To: <alpine.LFD.2.00.0901061343000.26118@xanadu.home>
Nicolas Pitre <nico@cam.org> wrote:
> There may indeed be line fragments sent over the sideband channel, as
> well as the opposite which is multiple lines sent at once in a single
> packet. If you look at sideband.c you'll find about all those cases.
Thanks, that's what I thought...
> In general, what you have to do is:
>
> - for each packet:
> - split into multiple chunks on line breaks ('\r' or '\n')
> - for each chunk:
> - if last chunk didn't end with a line break, or if current
> chunk is empty or only contains a line break, then skip printing
> the "remote:" prefix. Otherwise print it.
> - print the current chunk up to any line break
> - if current chunk contains a line break and other characters then
> print a sequence to clear the remaining of the screen line
> - print the line break if any
Hmm. I should note that C Git still screws this up sometimes. I've
seen 1.6.1 git fetch mess up the output from repo.or.cz's sideband.
I'm sure Pasky isn't running JGit's daemon, its too damn fast. :-)
I don't have a spew of it handy, but late last week I saw it screw
up while doing a clone off repo.or.cz.
Robin, maybe we should apply this patch? Its along the lines
Nico is describing above, but because our progress code doesn't do
direct display its a little less complex, we don't have to worry
about clearing the current line. But I think I'm doing the chunk
splitting and filtering he's talking about.
--
Shawn.
next prev parent reply other threads:[~2009-01-06 19:29 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-23 18:03 [JGIT PATCH 0/5] Add jgit init, clone, receive-pack; transport fixes Shawn O. Pearce
2008-12-23 18:03 ` [JGIT PATCH 1/5] Add "jgit receive-pack" and permit commands to start not in a repository Shawn O. Pearce
2008-12-23 18:03 ` [JGIT PATCH 2/5] Add "jgit init" command to create a new repository Shawn O. Pearce
2008-12-23 18:03 ` [JGIT PATCH 3/5] Modify "jgit daemon" so it can run outside of a repository Shawn O. Pearce
2008-12-23 18:03 ` [JGIT PATCH 4/5] Add "jgit clone" to support cloning off URLs that are JGit specific Shawn O. Pearce
2008-12-23 18:03 ` [JGIT PATCH 5/5] Fix "fetch pulled too many objects" when auto-following tags Shawn O. Pearce
2008-12-31 7:12 ` [JGIT PATCH 4/5] Add "jgit clone" to support cloning off URLs that are JGit specific Robin Rosenberg
2008-12-31 7:35 ` Shawn O. Pearce
2008-12-31 19:04 ` [JGIT PATCH] Improve the sideband progress scaper to be more accurate Shawn O. Pearce
2009-01-03 22:12 ` Robin Rosenberg
2009-01-06 19:23 ` Nicolas Pitre
2009-01-06 19:27 ` Shawn O. Pearce [this message]
2009-01-06 20:55 ` Nicolas Pitre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090106192747.GD24578@spearce.org \
--to=spearce@spearce.org \
--cc=git@vger.kernel.org \
--cc=nico@cam.org \
--cc=robin.rosenberg@dewire.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).