Commit Graph
166 Commits
Author SHA1 Message Date
Andrew Wood bb0c5bdfca Applied standard indent(1) settings 2023-07-16 11:20:03 +01:00
Andrew Wood 0d1d5b77ec Applied patch from Dave Beckett to support "@filename" as a "--size" argument. 2023-07-16 11:07:06 +01:00
Andrew Wood 9dce037cdc Merge branch 'mac_os_x_pidfds' of https://github.com/christoph-zededa/pv into christoph-zededa-mac_os_x_pidfds 2023-07-16 01:37:08 +01:00
Andrew Wood 0ec9e208df Merge branch 'main' of https://github.com/quitschbo/pv into quitschbo-main 2023-07-16 00:47:33 +01:00
Andrew Wood 8fb3aecde5 Finalise pull from ikasty to show relative filenames in --watchfd 2023-07-16 00:28:58 +01:00
Kang Daeyoun 5768166460 Use relative filepath in watchpid if possible 2023-06-09 12:32:59 +09:00
lemonsqueeze 6bdb951af4 Added -m, --eta-window option: set time window for average rate computation (default 30s) 2023-05-29 15:11:37 +02:00
lemonsqueeze 06824aee2d Fixed inaccurate ETAs: use current average rate over last 30 seconds instead of global rate
using global rate gives wildly inacurrate ETAs if rate changes over time.

this makes pv keep a history of progress over the last 30s interval and compute
current average rate over that, which fixes the issue.

fixed -a, --average-rate: show current average rate instead of global rate

[ quick test ]

- in one shell:
    $ dd if=/dev/zero of=/tmp/foo bs=1M count=5                 # simulate fast initial rate,
    $ (while true; do ls /*; sleep 1; done) >> /tmp/foo         # then slow rate. leave running ...

- in another shell:
    $ tail -f -n +1 /tmp/foo | pv -s 800M > /dev/null

    5.62MiB 0:00:17 [33.1KiB/s] [>                              ]  0% ETA 0:40:02
        bad:  (pv 1.6.6 - 1.6.20)
        ETA of a few minutes that keeps increasing ever and ever ...

    5.62MiB 0:00:16 [33.1KiB/s] [>                              ]  0% ETA 6:45:53
        good:
        ETA of 6+ hours, which is how long it'll take to reach 800Mb at 33k/s
2023-05-29 15:09:36 +02:00
Michael Weiß c5cd932fb0 pv/display: handle error of tcgetpgrp() in pv_in_foreground()
Show pv progress bar even if no terminal is set, e.g., in a busybox
init script. The description of pv_in_forground() states it will
return true "if we aren't outputting to a terminal". However, this
is not the case since tcgetpgrg() will return an error and set ERRNO
to ENOTTY if the output fd is not an tty. We now handle this error
correctly and pv_in_foreground() returns also true in that case.

Signed-off-by: Michael Weiß <michael.weiss@aisec.fraunhofer.de>
2023-05-10 09:54:59 +02:00
Volodymyr Bychkovyak a6ecf60ad1 fix rate limiting issues 2023-03-22 02:49:46 -07:00
Christoph Ostarek b0cad6d3e3 implement fd watching for OS X 2023-02-19 18:20:00 +01:00
Andrew Wood 0ca8ef5187 Dates bumped for release of 1.6.20 2021-09-12 17:13:24 +01:00
Sam James b0720194e1 src/pv/number.c: add missing <stddef.h> include for NULL 2021-09-08 01:06:29 +01:00
Andrew Wood 0f7069796e Minor updates in preparation for release of v1.6.19 2021-09-05 19:29:45 +01:00
Andrew Wood 7d68a574ca Added all changes made between v1.6.6 and June 2020 2021-09-04 21:00:00 +01:00
Andrew Wood 12f28d0689 Initial commit based on v1.6.6 2021-09-04 20:51:25 +01:00