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

Re: A tour of git: the basics (and notes on some unfriendly messages)

From
Pierre Habouzit <madcoder@debian.org>
Date
Sep 29, 2007, 09:01 UTC
Message-ID
<20070929090121.GA4216@artemis.corp>
In-Reply-To
<20070929000056.GZ3099@spearce.org>
On Sat, Sep 29, 2007 at 12:00:56AM +0000, Shawn O. Pearce wrote:
Show 13 quoted lines
> The C based git-fetch made the http protocol almost totally silent.
> (No more got/walk messages.)  But that's actually also bad as it
> now doesn't even let you know its transferring anything at all.
> 
> There are serious issues here about getting the user the progress
> they really want.  The last item ("When will this be done?") is
> actually not possible to determine under either the native git
> protocol or HTTP/FTP.  We have no idea up front how much data must
> be transferred.  In the native git case we do know how many objects,
> but we don't know how many bytes that will be.  It could be under
> a kilobyte in one project.  That same object count for a different
> set of objects fetch could be 500M.  Radically different transfer
> times would be required.
  I'm not sure you need the ETA thing. I've used bzr only a couple of
time, I don't think it shows any kind of ETA, but I think I remember sth
like:

Stage 3/4 [==========================> ] [43%]

  And that's all is needed. It's sober, and informative enough I think.
  Many git commands output are still messy and indeed, having them in C
should help in that regard. The usual culprit are I think:
  * git fetch/clone/pull/.. ;
  * git push ;
  * git repack/gc/... ;
  * git merge (even with the merge.verbosity set to the minimum it's
    still not very readable and confusing).
  I do believe that the quite verbose output git commands sometimes have
is quite confusing, and let the user think it's messy. I believe that
porcelains should be more silent, it's OK for the plumbing to spit
progress messages and so on, because people using the plumbing are able
to understand those, but porcelains should not.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
Previous: Steffen ProhaskaNext: Wincent Colaiuta
Message 13 of 26 in “A tour of git: the basics (and notes on some unfriendly messages)”
  1. Carl WorthSep 28, 2007
  2. Shawn O. PearceSep 29, 2007
  3. Johannes SchindelinSep 29, 2007
  4. Steffen ProhaskaSep 29, 2007
  5. Johannes SchindelinSep 29, 2007
  6. Steffen ProhaskaSep 29, 2007
  7. WinGit: included /bin/start in the installerSteffen Prohaska, Sep 29, 2007
  8. WinGit: include html pages from official git.git's html branchSteffen Prohaska, Sep 29, 2007
  9. Johannes SchindelinSep 29, 2007
  10. Junio C HamanoSep 29, 2007
  11. Johannes SchindelinSep 29, 2007
  12. Steffen ProhaskaSep 30, 2007
  13. Pierre HabouzitSep 29, 2007
  14. Wincent ColaiutaSep 30, 2007
  15. Pierre HabouzitSep 30, 2007
  16. Wincent ColaiutaSep 30, 2007
  17. Steffen ProhaskaSep 29, 2007
  18. Junio C HamanoSep 29, 2007
  19. Steffen ProhaskaSep 30, 2007
  20. Junio C HamanoSep 30, 2007
  21. Johannes SchindelinSep 30, 2007
  22. Steffen ProhaskaSep 30, 2007
  23. Junio C HamanoSep 29, 2007
  24. Carl WorthSep 30, 2007
  25. Carl WorthSep 30, 2007
  26. Nguyen Thai Ngoc DuySep 29, 2007

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.