Commit Graph
193 Commits
Author SHA1 Message Date
Andrew Wood ae81f83e9b New option "--direct-io". 2023-07-27 21:44:30 +01:00
Andrew Wood 6cff3c1c2a First draft of new "--sync" option. 2023-07-26 22:17:00 +01:00
Andrew Wood 923ef47056 Progress update 2023-07-24 23:15:09 +01:00
Andrew Wood e0856df8ef Fix rate display width when it is exactly 0 in bytes mode. 2023-07-23 22:29:09 +01:00
Andrew Wood c39e97ec5a Fix byte prefix at low rates so it is two spaces, not one 2023-07-23 17:13:14 +01:00
Andrew Wood a0e5d5e9e7 Rebuild timestamp update 2023-07-23 14:27:19 +01:00
Andrew Wood c7e0bb727e Introduce strlcat() instead of strcat(), and replace all sizeof() of buffers inside structures with constants where possible, to avoid bugs caused by reading the size of a pointer instead of the size of the buffer it points to. 2023-07-23 01:57:00 +01:00
Andrew Wood 80e3f791c4 Rebuilt automatically 2023-07-23 01:50:04 +01:00
Andrew Wood e94600d7a4 Put all terminal writes through the same pv_write_retry function for consistency and to clear up compiler warnings. 2023-07-22 23:22:34 +01:00
Andrew Wood 9783f7ebef Cleanups to fscanf() and Apple-specific watchfd code 2023-07-22 22:53:02 +01:00
Andrew Wood b6d1f62979 Centralise all sprintf()/snprintf() calls in a compatibility wrapper pv_snprintf() 2023-07-22 22:40:07 +01:00
Andrew Wood 101294195b Remove references to 64-bit file functions - stat, lstat, lseek, etc - as part of large file support rewrite. 2023-07-22 19:55:55 +01:00
Andrew Wood 7448c7f320 Rewrote configure.in and replaced header.in with one generated by autoheader, added copyright notice to all source files as per GNU standards, and changed "pv --version" output to conform to GNU standards. 2023-07-22 19:35:43 +01:00
Andrew Wood 65828899ea Version update pending new release 2023-07-17 21:53:54 +01:00
Andrew Wood f13f5e70c1 More macOS stat fixes 2023-07-17 21:37:54 +01:00
Andrew Wood 3003f46313 Removed code that was making percentages go down after 100% in numeric mode 2023-07-17 12:28:32 +01:00
Andrew Wood 01f627b2de Recoded Polish PO file from ISO8859-2 to UTF-8, and removed potentially incorrect fuzzy matches from all PO files 2023-07-16 23:24:53 +01:00
Andrew Wood 461486ec4f Added --bits option 2023-07-16 23:12:12 +01:00
Andrew Wood 001dfb71c2 Show elapsed time as D:HH:MM:SS after 1 day, to match the ETA format 2023-07-16 22:29:18 +01:00
Andrew Wood bcb33ce2aa Honour the --force setting when writing the progress display 2023-07-16 21:58:08 +01:00
Andrew Wood c8090806f9 Added debugging output to pv_in_foreground() 2023-07-16 21:31:17 +01:00
Andrew Wood 4fddf40436 Rename --eta-window to --average-rate-window, since that is what it does, and correct the behaviour of the final update so the final rate shown is the average rate across the whole transfer. 2023-07-16 21:00:08 +01:00
Andrew Wood 62b5ac26df Reverse the average rate history early-return logic to make it easier to understand 2023-07-16 20:49:59 +01:00
Andrew Wood 2bf76577dd Remove assertions from ETA history, set minimum boundary on ETA window, check for history structure allocation success 2023-07-16 12:14:07 +01:00
Andrew Wood 90d9638488 Minor format changes as per indent(1) standardisation 2023-07-16 11:53:36 +01:00
Andrew WoodandGitHub 56adce8edf Merge branch 'main' into eta_fix 2023-07-16 11:41:50 +01:00
Andrew Wood 442a298c38 Merge branch 'main' of https://github.com/vbychkoviak/pv into vbychkoviak-main 2023-07-16 11:23:46 +01:00
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