On Fri, Sep 21, 2018 at 09:34:14AM -0400, Sebastian Gniazdowski wrote:
> Git default progress indicator for clone is very unattractive, IMO. It
> does its job in providing all the operation details very well, but I
> bet most of users strongly dream about a gauge box!
>
> Have a look at my gauge box constructed as git-stderr pipe script:
> https://asciinema.org/a/202401
>
> The main point of my feature request is: git can add
> core.progress_pipe option, where e.g. `/usr/local/bin/mygauge' will be
> set (a script like the one in the asciinema), and then simply do the
> ground-school-known `popen("/usr/local/bin/mygauge","r+")', and write
> **unchanged current-progress data** to the pipe, then read from the
> pipe and forward to `stderr', where the progress normally lands in.
>
> This will allow users to free their creativity and provide probably
> dozens of custom Git progress bars.
I don't personally feel that the existing progress bar is that bad, but
if anybody wants to pursue this, I think the most sensible path is:
1. Add a trace_key for sending machine-readable progress output to a
descriptor or file. E.g., via setting GIT_TRACE_PROGRESS=2 in the
environment.
2. Teach the trace code to open a command for piping, so that you
could do something like GIT_TRACE_PROGRESS='|mygauge'.
That would make your use case work, and I think many other use cases
would benefit from both of those features independently.
-Peff