Terts Diepraam
624700f835
chown: update to clap 4
2022-10-13 17:50:23 +02:00
Terts Diepraam
075245235e
chgrp: update to clap 4
2022-10-13 17:50:23 +02:00
Terts Diepraam
7a3cb35352
chcon: update to clap 4
2022-10-13 16:22:47 +02:00
Terts Diepraam
717402b46a
cat: update to clap 4
2022-10-13 16:22:47 +02:00
Terts Diepraam
649dab36f1
basename: update to clap 4
2022-10-13 16:22:45 +02:00
Terts Diepraam
26309dc9d7
base{32, 64, enc}: update to clap 4
2022-10-13 16:22:24 +02:00
Terts Diepraam
cb8831af71
arch: update to clap 4
2022-10-13 16:20:46 +02:00
Terts Diepraam
28127a433e
Merge pull request #4043 from sylvestre/clippy
...
Fix some clippy warnings
2022-10-13 14:03:57 +02:00
Sylvestre Ledru
6e14dea73b
Fix some clippy warnings
...
Fixed with `cargo clippy --features unix --fix`
and manually
2022-10-13 09:07:22 +02:00
Sylvestre Ledru
26cc5b9c20
Merge pull request #4011 from tertsdiepraam/env-signal-handling
...
`env`: reraise signal from child process
2022-10-13 09:02:21 +02:00
dependabot[bot]
5261a307f7
build(deps): bump libc from 0.2.132 to 0.2.135
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.132 to 0.2.135.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.132...0.2.135 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 12:55:41 +00:00
Terts Diepraam
d9f36eed6e
chroot: declare fs feature of uucore in Cargo.toml
2022-10-12 10:55:42 +02:00
Sylvestre Ledru
b7c298afee
Merge pull request #4020 from ackerleytng/main
...
dircolors: align TERM matching behavior with that of GNU dircolors
2022-10-12 09:27:34 +02:00
Terts Diepraam
f15c4f2d3e
Version 0.0.16
2022-10-11 23:03:39 +02:00
Sylvestre Ledru
d768b19f2b
chroot: improve support of --skip-chdir
...
Should unbreak tests/misc/chroot-fail.sh
2022-10-10 14:07:45 +02:00
Sylvestre Ledru
ad0ca2f042
Merge pull request #3973 from jfinkels/cp-directory-preserve-permissions
...
cp: preserve permissions when copying directory and don't terminate early on inaccessible file
2022-10-10 08:16:27 +02:00
Ackerley Tng
1239fc477b
dircolors: align TERM matching behavior with that of GNU dircolors
2022-10-09 18:47:20 -07:00
Jeffrey Finkelstein
b89e8e54c4
cp: continue directory walk if file inaccessible
...
Stop `cp` from terminating prematurely if a file in a directory is
inaccesible due to insufficient permissions.
2022-10-09 17:31:41 -04:00
Jeffrey Finkelstein
2450493302
cp: preserve permissions when copying directory
...
Make cp preserve the permissions of a directory when copying
it. Before this commit,
cp -pR src/ dest/
failed to copy the permissions of `src/` to `dest/`. After this
commit, the permissions are correctly copied.
2022-10-09 17:29:29 -04:00
Jeffrey Finkelstein
c370b678b1
cp: refactor copy_attributes() function
...
Create a `copy_attributes()` function to contain the loop that copies
each of a specified set of attributes in turn.
2022-10-09 17:28:43 -04:00
jfinkels
349320ae61
Merge branch 'main' into cp-symbolic-link-loop
2022-10-09 17:28:30 -04:00
Terts Diepraam
7d8917bb35
Merge pull request #4003 from sylvestre/sync2
...
sync: various compatibility improvement
2022-10-09 11:07:44 +02:00
Ackerley Tng
d84803b72f
ls: align --ignore behavior with that of GNU ls
2022-10-08 16:54:07 -07:00
Terts Diepraam
ca820bf674
env: reraise signal from child process
2022-10-08 19:38:00 +02:00
Andrew Baptist
4922d34177
Match GNU semantics for missing EOF
...
While the rust coreutils semantics were arguably more correct,
they were different than the gnu split semantics when handling a
file without a trailing EOF. This patch addresses that difference
and allows passing one more GNU test suite.
2022-10-07 17:50:26 -04:00
Sylvestre Ledru
97dd4824e5
Merge pull request #3976 from andrewbaptist/implement_suffix_start
...
Add support for starting suffix numbers
2022-10-07 21:07:07 +02:00
Sylvestre Ledru
f255dcbf6d
Merge pull request #3979 from jfinkels/cp-cow-module
...
cp: move copy_on_write funcs to platform module
2022-10-07 14:58:45 +02:00
Sylvestre Ledru
88fb43c8e4
Merge branch 'main' into cp-symbolic-link-loop
2022-10-06 09:53:02 +02:00
Sylvestre Ledru
32112d627a
Add fiemap to the spelling
2022-10-06 09:34:48 +02:00
Jeffrey Finkelstein
8bfd96fb59
cp: correct error message on copying dir to itself
...
Correct the error message produced when attempting to copy a directory
into itself with `cp`. Before this commit, the error message was
$ cp -R d d
cp: cannot copy a directory, 'd', into itself, 'd'
After this commit, the error message is
$ cp -R d d
cp: cannot copy a directory, 'd', into itself, 'd/d'
2022-10-05 21:37:30 -04:00
Jeffrey Finkelstein
2d0f59c51d
cp: move copy_on_write funcs to platform module
...
Move the copy-on-write functions for `cp` to their own module. This
provides a layer of indirection so that the `cp.rs` module need only
use `platform::copy_on_write()`, and the `platform` module is
responsible for providing the appropriate implementation for the
current platform. This commit does not change the behavior of the
code, just its organization.
2022-10-05 21:35:55 -04:00
Sylvestre Ledru
ae7c45d27a
Merge pull request #3988 from dmatos2012/add-date-format-ls
...
ls: add support for +FORMAT in timestyle
2022-10-05 18:41:15 +02:00
Andrew Baptist
49e1cc6c71
Add support for starting suffix numbers
...
This commit now allows split to pass split/numeric.sh
2022-10-05 09:52:20 -04:00
Pat Laster
493a2628d2
rm: Added descend messages for interactive mode Fixes #3817 ( #3931 )
...
Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2022-10-05 13:35:31 +02:00
Jeffrey Finkelstein
24630db45e
cp: allow removing symbolic link loop destination
...
Allow `cp --remove-destination` to remove a symbolic link loop (or a
symbolic link that initiates a chain of too many symbolic
links). Before this commit, if `loop` were a symbolic link to itself,
then
cp --remove-destination file loop
would fail with an error message. After this commit, it succeeds. This
matches the behaviotr of GNU cp.
2022-10-05 13:32:21 +02:00
Sylvestre Ledru
6edf8ebf41
sync: Verify that the files can be opened
2022-10-05 13:30:19 +02:00
Sylvestre Ledru
fc1c7755b9
sync: make fail like GNU - tests/misc/sync.sh
2022-10-05 13:30:19 +02:00
David Matos
b8a5588b81
ls: add support for +FORMAT in timestyle
2022-10-05 13:29:19 +02:00
Terts Diepraam
25db814671
Merge pull request #4002 from sylvestre/cmd-test
...
test: add a bunch of operations
2022-10-04 12:00:00 +02:00
Sylvestre Ledru
45a7e52ed9
Merge pull request #3982 from jfinkels/cp-sparse-copy
...
cp: make copy_on_write_linux() func more readable
2022-10-03 23:19:01 -10:00
Sylvestre Ledru
436b7006f2
Merge pull request #3998 from sylvestre/wc-doc
...
wc: document the long match
2022-10-03 20:37:21 -10:00
Sylvestre Ledru
33de6c89db
test: allow parsing of bigger numbers
...
Fixes: tests/misc/test.pl
2022-10-03 20:25:45 +02:00
Sylvestre Ledru
f0b8b33dc1
test: add support for -ef, -nt & -ot
2022-10-03 20:25:42 +02:00
Emil Suleymanov
a7b637b1eb
cp: assume --reflink=always on no value ( #3992 )
...
* Set reflink to auto by default
2022-10-03 20:20:55 +02:00
Sylvestre Ledru
63203a0a68
test: add -N FILE exists and has been modified since it was last read
...
Upstream: tests/misc/test-N.sh
2022-10-03 00:59:39 -10:00
Sylvestre Ledru
7257adb53b
wc: document the long match
2022-10-03 00:57:48 -10:00
Daniel Hofstetter
8cae763321
du,stty: replace deprecated is_present()
2022-09-29 15:20:10 +02:00
Daniel Hofstetter
af51493368
df: replace deprecated values_of_lossy()
2022-09-29 09:37:13 +02:00
Terts Diepraam
4b517a361d
Merge pull request #3959 from Joining7943/tail-reactivate-presume-input-pipe
...
tail: Reactivate ---presume-input-pipe option
2022-09-28 00:09:18 +02:00
Jeffrey Finkelstein
1f907bfd4b
fixup! cp: make copy_on_write_linux() func more readable
2022-09-26 23:59:41 -04:00
Daniel Hofstetter
9e8daf92dd
Replace deprecated value_of() with get_one()
2022-09-26 16:42:42 +02:00
Jeffrey Finkelstein
e0dcc43076
cp: make copy_on_write_linux() func more readable
...
Improve readability of the `copy_on_write_linux()` helper function by
employing new helper functions `clone()` and `sparse_copy()`.
2022-09-25 23:14:37 -04:00
Terts Diepraam
a3ba02a791
Merge pull request #3971 from niyaznigmatullin/cp_H_option
...
cp: add `-H` option
2022-09-25 15:16:37 +02:00
Terts Diepraam
9ce600ffa8
Merge pull request #3904 from cakebaker/pr_use_clap_for_help_and_version
...
pr: use clap to handle help & version
2022-09-25 14:10:00 +02:00
Niyaz Nigmatullin
9166269aec
cp: fix help for -H
2022-09-23 20:35:14 +03:00
Niyaz Nigmatullin
90babe2775
uucore: remove is_symlink
function
...
Since Rust 1.58 there is `is_symlink` method for `Path`
2022-09-23 20:32:09 +03:00
Niyaz Nigmatullin
84a741fe91
cp: add -H
option, add tests, fix test
2022-09-23 20:31:24 +03:00
Niyaz Nigmatullin
5640d56584
Fix clippy warning
2022-09-23 20:27:43 +03:00
Sylvestre Ledru
fce36c80f1
Merge pull request #3967 from uutils/dependabot/cargo/md-5-0.10.5
...
build(deps): bump md-5 from 0.10.4 to 0.10.5
2022-09-22 17:42:17 +02:00
jfinkels
dd0daa5e06
df: remove trailing spaces in rightmost column ( #3882 )
...
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2022-09-22 08:37:20 +02:00
dependabot[bot]
52b977de79
build(deps): bump md-5 from 0.10.4 to 0.10.5
...
Bumps [md-5](https://github.com/RustCrypto/hashes ) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/md-5-v0.10.4...md-5-v0.10.5 )
---
updated-dependencies:
- dependency-name: md-5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 06:37:09 +00:00
Jeffrey Finkelstein
60ca9a03bb
mktemp: add message for directory not found
...
Add special handling in `mktemp` for when the directory that will
contain the temporary file is not found. This situation now produces
the message
mktemp: failed to create file via template 'XXX': No such file or directory
to match the behavior of GNU mktemp.
2022-09-21 21:26:39 -04:00
Jeffrey Finkelstein
f2e4225bc6
mktemp: refactor make_temp_dir(), make_temp_file()
...
Factor code out of `exec()` into two helper functions,
`make_temp_dir()` and `make_temp_file()`.
2022-09-21 21:26:39 -04:00
Sylvestre Ledru
68ad9e4301
Merge pull request #3951 from jfinkels/mktemp-too-many-templates
...
mktemp: match GNU error message on too many args
2022-09-21 22:39:55 +02:00
Sylvestre Ledru
5a746a778f
Merge pull request #3938 from tertsdiepraam/dd-positional-args
...
`dd`: parse operands manually via positional args
2022-09-21 22:39:13 +02:00
Sylvestre Ledru
2e26e1d2bd
chroot: implement --skip-chdir
2022-09-21 19:46:58 +02:00
Terts Diepraam
e377e4f046
dd: custom positional argument parsing
2022-09-21 18:41:12 +02:00
Joining7943
c32d61dcfb
tests/tail: Add system tests for ---presume-input-pipe
2022-09-21 16:39:52 +02:00
Joining7943
fa8eaf3080
tail: Reactivate --presume-input-pipe option
2022-09-21 16:39:52 +02:00
Sylvestre Ledru
adc4ecd856
Merge pull request #3907 from tertsdiepraam/chroot-allow-hyphen-values
...
`chroot`: set trailing var arg
2022-09-21 14:09:50 +02:00
Sylvestre Ledru
7b4dcc3748
Merge pull request #3928 from niyaznigmatullin/factor_enable_union_feature_for_smallvec
...
factor: enable `union` feature for `smallvec`
2022-09-21 11:39:42 +02:00
Jeffrey Finkelstein
7b35749ea6
mktemp: match GNU error message on too many args
...
Update the usage message when too many template arguments are given on
the command line to match that of GNU mktemp:
mktemp: too many templates
Try 'mktemp --help' for more information.
This fixes the test case `too-many` in the GNU test suite file
`tests/misc/mktemp.pl`.
2022-09-21 10:02:56 +02:00
Joining7943
96321f958c
tail: Fix random errors mainly on macos for piped input. Treat resolved paths to /dev/fd/0 as pipe.
...
Closes #3953
2022-09-20 01:20:49 +02:00
Sylvestre Ledru
6051c4693f
Merge pull request #3956 from uutils/dependabot/cargo/ouroboros-0.15.5
...
build(deps): bump ouroboros from 0.15.4 to 0.15.5
2022-09-19 18:15:43 +02:00
dependabot[bot]
efcd1a072d
build(deps): bump ouroboros from 0.15.4 to 0.15.5
...
Bumps [ouroboros](https://github.com/joshua-maros/ouroboros ) from 0.15.4 to 0.15.5.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases )
- [Commits](https://github.com/joshua-maros/ouroboros/commits )
---
updated-dependencies:
- dependency-name: ouroboros
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 06:46:19 +00:00
dependabot[bot]
39d9fa31f6
build(deps): bump selinux from 0.2.7 to 0.3.0
...
Bumps [selinux](https://github.com/koutheir/selinux ) from 0.2.7 to 0.3.0.
- [Release notes](https://github.com/koutheir/selinux/releases )
- [Changelog](https://github.com/koutheir/selinux/blob/master/CHANGELOG.md )
- [Commits](https://github.com/koutheir/selinux/commits )
---
updated-dependencies:
- dependency-name: selinux
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 06:46:06 +00:00
Sylvestre Ledru
a857002def
Merge pull request #3949 from niyaznigmatullin/cp-i_gnu_test
...
cp: fix `cp-i` GNU test
2022-09-18 22:06:12 +02:00
jfinkels
86b012d3be
dd: handle stdout redirected to seekable file ( #3880 )
...
* dd: move argument parsing outside of Input, Output
Move the argument parsing code out of the `Input::new()` and
`Output::new()` functions and into the calling code. This allows the
calling code to make decisions about how to instantiate the `Input`
and `Output` objects if necessary.
* dd: handle stdout redirected to seekable file
Fix a bug in `dd` where null bytes would be unintentionally written if
stdout were redirected to a seekable file. For example, before this
commit, if `dd` were invoked from the command-line as
dd if=infile bs=1 count=10 seek=5 > /dev/sda1
then five zeros would be written to `/dev/sda1` before copying ten
bytes of `infile` to `/dev/sda1`. After this commit, `dd` will
correctly seek five bytes forward in `/dev/sda1` before copying the
ten bytes of `infile`.
Fixes #3542 .
2022-09-18 21:53:01 +02:00
Terts Diepraam
8c839888e1
Merge pull request #3905 from Joining7943/refactor-tail
...
Refactor tail
2022-09-17 20:39:53 +02:00
Terts Diepraam
513e61f434
Merge pull request #3923 from snapdgn/main
...
refactor: `stat` declarative macros to functions
2022-09-17 20:36:47 +02:00
Niyaz Nigmatullin
2ce999c959
cp: fix cp-i
GNU test
...
`cp` in interactive mode used to write to stdout asking for
overwrite. GNU version writes to stderr.
Changed: write to stderr to make compatible with GNU.
2022-09-17 19:15:52 +03:00
Niyaz Nigmatullin
edca926406
factor: enable union
feature for smallvec
2022-09-17 13:20:50 +02:00
Niyaz Nigmatullin
774f498aa8
chore(deps): Bump terminal_size + cargo update
2022-09-17 01:08:41 +03:00
dependabot[bot]
05b7183112
build(deps): bump digest from 0.10.3 to 0.10.5
...
Bumps [digest](https://github.com/RustCrypto/traits ) from 0.10.3 to 0.10.5.
- [Release notes](https://github.com/RustCrypto/traits/releases )
- [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.3...digest-v0.10.5 )
---
updated-dependencies:
- dependency-name: digest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-16 06:34:05 +00:00
snapdgn
f7601c022e
updated documentation
2022-09-14 10:51:03 +05:30
Jeffrey Finkelstein
61345cbdc9
mktemp: respect TMPDIR environment variable
...
Change `mktemp` so that it respects the value of the `TMPDIR`
environment variable if no directory is otherwise specified in its
arguments. For example, before this commit
$ TMPDIR=. mktemp
/tmp/tmp.WDJ66MaS1T
After this commit,
$ TMPDIR=. mktemp
./tmp.h96VZBhv8P
This matches the behavior of GNU `mktemp`.
2022-09-13 19:38:25 -04:00
Joining7943
951c51e740
tail: large refactoring and cleanup of the tail code base. See also #3905 for details
2022-09-13 22:54:36 +02:00
Sylvestre Ledru
78a9f6edf8
Merge pull request #3908 from tertsdiepraam/chroot-err-codes
...
`chroot`: set exit codes to 125, 126 or 127 for errors from chroot itself
2022-09-12 22:43:12 +02:00
Sylvestre Ledru
1ed281fce9
Merge pull request #3921 from niyaznigmatullin/ls_exit_code_2_some_cases
...
ls: exit code 2 when `IOError` happened for argument
2022-09-12 22:20:08 +02:00
Niyaz Nigmatullin
4e0b238748
ls: add command_line bool to error for exit code 2
2022-09-12 19:47:16 +03:00
snapdgn
b723be4fe2
reposition functions
2022-09-12 19:56:02 +05:30
Daniel Hofstetter
ebbf8ade1e
pr: use clap to handle help & version
2022-09-12 15:28:08 +02:00
snapdgn
d8226bf658
add: documentation to refactored macros->functions
2022-09-12 18:35:30 +05:30
snapdgn
243546ce96
fix: style/spelling
2022-09-12 12:19:56 +05:30
snapdgn
39e352e2af
fix: failing test cases & some refactoring
2022-09-12 12:04:43 +05:30
dependabot[bot]
bf7e5a6ec0
build(deps): bump onig from 6.3.2 to 6.4.0
...
Bumps [onig](https://github.com/iwillspeak/rust-onig ) from 6.3.2 to 6.4.0.
- [Release notes](https://github.com/iwillspeak/rust-onig/releases )
- [Changelog](https://github.com/rust-onig/rust-onig/blob/main/CHANGELOG.md )
- [Commits](https://github.com/iwillspeak/rust-onig/compare/v6.3.2...v6.4.0 )
---
updated-dependencies:
- dependency-name: onig
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-11 20:08:28 +02:00
Sylvestre Ledru
4280c2a8a1
Merge pull request #3913 from uutils/dependabot/cargo/notify-5.0.0
...
build(deps): bump notify from 5.0.0-pre.16 to 5.0.0
2022-09-11 20:06:19 +02:00
snapdgn
26301d05f6
refactor: declarative macros to rust
2022-09-11 15:36:18 +05:30
Terts Diepraam
51bd8a2ba8
chroot: set exit codes to 125, 126 or 127 for errors from chroot itself
2022-09-11 12:02:54 +02:00
Terts Diepraam
975a1d170d
change remaining usage codes of 2 to 1 for GNU compat
2022-09-10 20:24:24 +02:00
dependabot[bot]
d02ee4b1eb
build(deps): bump notify from 5.0.0-pre.16 to 5.0.0
...
Bumps [notify](https://github.com/notify-rs/notify ) from 5.0.0-pre.16 to 5.0.0.
- [Release notes](https://github.com/notify-rs/notify/releases )
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md )
- [Commits](https://github.com/notify-rs/notify/compare/notify-5.0.0-pre.16...notify-5.0.0 )
---
updated-dependencies:
- dependency-name: notify
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 07:56:32 +00:00
Niyaz Nigmatullin
999db68042
pr: migrate from chrono
crate to time
...
It seems that `chrono` is the reason of deadlock or UB in android
CI. Also `chrono` had some security issues and wasn't maintained for
two years until March 2022, so other unstabilities can happen. Plus
`chrono` uses old `time` dependency.
2022-09-09 21:59:08 +03:00
Joining7943
2658f8ae5b
tail: improve performance of piped stdin
...
Rewrite handling of stdin when it is piped and read input in chunks.
Fixes https://github.com/uutils/coreutils/issues/3842
2022-09-09 13:51:37 +02:00
Terts Diepraam
1abfc4b15f
chroot: set trailing var arg
...
Without trailing var arg set in clap, flags in the command argument are
incorrectly parsed by clap.
2022-09-09 11:42:33 +02:00
dependabot[bot]
2d59ec3453
build(deps): bump half from 1.8.2 to 2.1.0
...
Bumps [half](https://github.com/starkat99/half-rs ) from 1.8.2 to 2.1.0.
- [Release notes](https://github.com/starkat99/half-rs/releases )
- [Changelog](https://github.com/starkat99/half-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/starkat99/half-rs/compare/v1.8.2...v2.1.0 )
---
updated-dependencies:
- dependency-name: half
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-08 20:21:18 +00:00
Jan Scheer
88d3aee71c
tail: fix offset for stdin redirect if multiple input files
2022-09-05 10:09:04 +02:00
Jan Scheer
74f359bd76
tail: use same-file crate to get a handle of stdin redirected file
2022-09-05 10:09:04 +02:00
Jan Scheer
942928b0ea
tail: fix stdin redirect when file is not at its beginning
...
Previously, if stdin redirect pointed to a regular file,
tailing started at the beginning of the file. However,
tailing needs to start at the current position because this
is expected by tests/tail-2/start-middle.sh.
This fixes the issue by taking the current offset into account
while going backwards through the stdin redirected file.
2022-09-05 10:09:04 +02:00
Jan Scheer
92c3f60440
tail: fix stdin redirect ( #3842 )
...
This fixes a bug where calling `tail - < file.txt` would result
in invoking `unbounded_tail()`.
However, it is a stdin redirect to a seekable regular file and
therefore `bounded_tail` should be invoked as if `tail file.txt` had
been called.
2022-09-05 10:09:04 +02:00
Daniel Hofstetter
4fcedb4cdc
rm: fix indentation within uu_app()
2022-09-04 14:42:23 +02:00
Daniel Hofstetter
8344855183
expand: fix line that's too long
2022-09-03 14:48:58 +02:00
Sylvestre Ledru
f21fda46b4
Merge pull request #3887 from cakebaker/cp_fix_indentation
...
cp: fix indentation within uu_app()
2022-09-02 10:21:07 +02:00
Daniel Hofstetter
da0f1a98b5
ls: fix indentation within uu_app()
2022-09-01 13:38:46 +02:00
Daniel Hofstetter
e5e6a48200
cp: fix indentation within uu_app()
2022-08-30 13:59:28 +02:00
Sylvestre Ledru
282774a3ef
Merge pull request #3853 from stefins/rm-write-protected
...
rm: added write-protected check for files
2022-08-29 17:03:24 +02:00
Stefin
a33bc185a5
rm: added check for write protected regular empty file
...
Signed-off-by: Stefin <stefin@pm.me>
2022-08-29 18:09:02 +05:30
Daniel Hofstetter
a9b5d9dccf
Replace forbid_empty_values() with value_parser()
2022-08-29 10:44:52 +02:00
Owen Anderson
08d3da8f6c
Fix a TODO by making conv_block_unblock_helper
consume the input. ( #3787 )
...
* Fix a TODO by making `conv_block_unblock_helper` consume the input.
2022-08-28 10:07:04 +02:00
Stefin
4c1c9ebf89
rm: change InteractiveMode::Default to InteractiveMode::PromptProtected
...
Signed-off-by: Stefin <stefin@pm.me>
2022-08-27 19:38:10 +05:30
Sylvestre Ledru
0dbcdde64e
Merge pull request #3873 from kilpkonn/tail_seek_outside_bounds
...
Fix tail panicing when seeking backwards
2022-08-26 22:35:50 +02:00
Daniel Hofstetter
2d42434911
link: move use statement after copyright
2022-08-25 16:39:34 +02:00
Daniel Hofstetter
747ed592d9
Replace allow_invalid_utf8() with value_parser()
2022-08-25 15:21:50 +02:00
Sylvestre Ledru
9afb2e7038
Merge pull request #3871 from cakebaker/clap_replace_deprecated_occurrences_of
...
Replace deprecated occurrences_of()
2022-08-25 08:53:42 +02:00
Tavo Annus
09cfa44560
Fix tail panicing when seeking backwards
...
Previously `tail -c n file.txt` caused panic if n > sizeof file.txt.
Now it prints out whole file similarly to GNU tail.
2022-08-24 21:02:47 +03:00
Jeffrey Finkelstein
8458bf1387
Clippy fixes in multiple crates
2022-08-23 18:30:43 -04:00
Daniel Hofstetter
c6e313372e
Replace deprecated occurrences_of()
2022-08-23 16:31:32 +02:00
Stefin
a8326d7f3f
rm: added new InteractiveMode InteractiveMode::Never
...
Signed-off-by: Stefin <stefin@pm.me>
2022-08-23 19:33:34 +05:30
Sylvestre Ledru
5a726e1ab3
Merge pull request #3864 from niyaznigmatullin/migrate_termsize_to_terminal_size
...
deps: change `termsize` dependency to `terminal_size`
2022-08-23 11:53:24 +02:00
dependabot[bot]
ed83439a20
build(deps): bump ouroboros from 0.15.2 to 0.15.3
...
Bumps [ouroboros](https://github.com/joshua-maros/ouroboros ) from 0.15.2 to 0.15.3.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases )
- [Commits](https://github.com/joshua-maros/ouroboros/commits/0.15.3 )
---
updated-dependencies:
- dependency-name: ouroboros
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-23 06:26:24 +00:00
Niyaz Nigmatullin
c9a81f5a17
deps: use terminal_size instead of termsize
2022-08-22 18:53:20 +03:00
Daniel Hofstetter
6f07a3418d
mv: fix indentation within uu_app()
2022-08-22 12:50:08 +02:00
Niyaz Nigmatullin
b6629ce10e
bump cpp_build version
2022-08-20 21:08:43 +02:00
Sylvestre Ledru
928fe73b65
Merge pull request #3854 from niyaznigmatullin/remove_unix_socket_dependency
...
Remove deprecated `unix_socket` dependency
2022-08-20 21:06:57 +02:00
Niyaz Nigmatullin
503e71bb51
gnu-tests/chcon_fail: fix test
2022-08-20 19:06:19 +03:00
Niyaz Nigmatullin
306272bf60
unix_sockets is deprecated, use std::os::unix::net instead
2022-08-20 17:02:29 +03:00
Terts Diepraam
5b6cd6146b
Merge pull request #3851 from tertsdiepraam/version-0.0.15
...
Version 0.0.15
2022-08-20 15:17:11 +02:00
Terts Diepraam
105b0db251
rmdir, split: add fs feature to uucore dep
2022-08-20 15:13:18 +02:00
Stefin
9ffb00cd51
rm: added write-protected check for files
...
Signed-off-by: Stefin <stefin@pm.me>
2022-08-20 18:38:10 +05:30
Terts Diepraam
15180249fc
Version 0.0.15
2022-08-20 13:13:22 +02:00
Sylvestre Ledru
2130b3ef69
Fix bad merge
2022-08-20 12:37:52 +02:00
Sylvestre Ledru
71e51d120a
Merge branch 'main' into long_help_file
2022-08-20 11:58:37 +02:00
Daniel Hofstetter
3c6400317a
Replace deprecated value_of_os() with get_one()
2022-08-20 10:29:41 +02:00
Sylvestre Ledru
8786bb6541
Merge pull request #3672 from tertsdiepraam/stty
...
Initial implementation of `stty`
2022-08-20 09:34:08 +02:00
Daniel Hofstetter
62b1b7cfb2
Replace deprecated values_of_os() with get_many()
2022-08-20 08:19:11 +02:00
Sylvestre Ledru
aef96083d7
Merge pull request #3833 from uutils/dependabot/cargo/libc-0.2.132
...
build(deps): bump libc from 0.2.131 to 0.2.132
2022-08-19 19:09:26 +02:00
Sylvestre Ledru
5d148bbb9f
Merge pull request #3843 from uutils/dependabot/cargo/lscolors-0.12.0
...
build(deps): bump lscolors from 0.11.1 to 0.12.0
2022-08-19 19:09:03 +02:00
dependabot[bot]
6193cdbba8
build(deps): bump libc from 0.2.131 to 0.2.132
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.131 to 0.2.132.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.131...0.2.132 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-19 12:22:35 +00:00
Sylvestre Ledru
2d6c87c1ee
Merge pull request #3846 from niyaznigmatullin/exclude_winapi_dependency_on_non-windows
...
dependencies: make `winapi` dependency only for Windows
2022-08-19 14:19:58 +02:00
Terts Diepraam
c269a386eb
stty: cargo fmt
2022-08-19 13:12:43 +02:00
Terts Diepraam
a1250ec462
stty: fix nix version
2022-08-19 12:37:56 +02:00
Terts Diepraam
0e14e1ded0
stty: add cfg guards for flags that don't exist on BSD
...
fix another flag
2022-08-19 12:37:52 +02:00
Sylvestre Ledru
563de8bab3
Merge pull request #3830 from niyaznigmatullin/fix_descriptor_vs_rename
...
tail: reuse opened file --follow=descriptor and renamed
2022-08-19 12:14:55 +02:00
Niyaz Nigmatullin
67ae68a6cf
dependecies: make winapi dependency only for windows, bump platform-info
...
crate version dependency
2022-08-19 12:28:13 +03:00
Sylvestre Ledru
b7ea400861
Merge pull request #3837 from tertsdiepraam/remove-more-error-macros
...
`uucore` & `cp`: remove `show_error_custom_description` macros `show_usage_error`
2022-08-19 10:01:49 +02:00
Sylvestre Ledru
a3e3542602
Merge pull request #3838 from tertsdiepraam/tty-nix
...
`tty`: move from `libc` to `nix`
2022-08-19 10:01:27 +02:00
dependabot[bot]
20809db439
build(deps): bump lscolors from 0.11.1 to 0.12.0
...
Bumps [lscolors](https://github.com/sharkdp/lscolors ) from 0.11.1 to 0.12.0.
- [Release notes](https://github.com/sharkdp/lscolors/releases )
- [Commits](https://github.com/sharkdp/lscolors/compare/v0.11.1...v0.12.0 )
---
updated-dependencies:
- dependency-name: lscolors
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-18 11:38:09 +00:00
Sylvestre Ledru
88261f36dd
Merge pull request #3834 from uutils/dependabot/cargo/once_cell-1.13.1
...
build(deps): bump once_cell from 1.13.0 to 1.13.1
2022-08-18 13:35:59 +02:00
Sylvestre Ledru
6f6784f113
Adjust the code after https://github.com/uutils/coreutils/pull/3832
2022-08-18 11:33:04 +02:00
Terts Diepraam
85e6f8659f
stty: fix bsd/mac builds
2022-08-18 11:33:04 +02:00
Terts Diepraam
420c69aa98
stty: make compatible with Rust pre 1.61
2022-08-18 11:33:04 +02:00
Terts Diepraam
f861fc0854
stty: print special terminal information
2022-08-18 11:33:04 +02:00
Terts Diepraam
cc147a7c8d
stty: expand --help information
2022-08-18 11:33:04 +02:00
Terts Diepraam
679fd2371e
stty: disallow combining settings with --all and --save
2022-08-18 11:33:04 +02:00
Terts Diepraam
eac88022b2
stty: fix setting grouped flags
2022-08-18 11:33:04 +02:00
Terts Diepraam
96ea772016
stty: fix clippy warnings
2022-08-18 11:33:04 +02:00
Terts Diepraam
0c44fc07d2
stty: fix ixany and iutf8 not sane
2022-08-18 11:33:04 +02:00
Terts Diepraam
4cda8f33e7
stty: add grouped flags
2022-08-18 11:33:04 +02:00
Terts Diepraam
600cab0bd8
starting work on stty
2022-08-18 11:33:04 +02:00
Terts Diepraam
b983355bc4
uucore & cp: remove show_error_custom_description
macros show_usage_error
2022-08-18 10:44:59 +02:00
Terts Diepraam
791fb98dcc
tty: move from libc to nix
...
This moves the unsafe from our responsibility to nix and makes
the code a bit cleaner.
2022-08-18 00:59:27 +02:00
Terts Diepraam
f255c0cae8
dir & vdir: fix docs not showing up on the website
...
uudoc was getting a dummy clap app to generate documentation from. Now the app from ls is returned instead, so that it actually shows something.
2022-08-17 22:33:32 +02:00
Sylvestre Ledru
87e3899477
Merge pull request #3832 from tertsdiepraam/simplify-encoding-handling
...
Simplify invalid encoding handling
2022-08-17 18:59:59 +02:00
dependabot[bot]
e465d0520f
build(deps): bump once_cell from 1.13.0 to 1.13.1
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.13.0...v1.13.1 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-17 16:20:25 +00:00
Terts Diepraam
ba713b6365
Simplify invalid encoding handling into two small methods of Args
...
The previous encoding handling was unnecessarily complex. This commit removes the enum that specifies the handling and instead has two separate methods to collect the strings either with lossy conversion or by ignoring invalidly encoded strings.
2022-08-17 15:20:20 +02:00
Terts Diepraam
5621502a95
all: remove accept_{any, complete, lossy}
and ConversionResult
...
Outside of tests, only `accept_any` was used, meaning that this unnecessarily complicated the code. The behaviour of `accept_any` is now the default (and only) option.
2022-08-17 14:57:28 +02:00
Niyaz Nigmatullin
cdc664305e
tail: reuse opened file with the same descriptor when
...
--follow=descriptor and renamed
2022-08-17 13:14:32 +03:00
Niyaz Nigmatullin
9cd898b885
remove nix 0.24.2 dependency
2022-08-17 13:13:27 +03:00
Niyaz Nigmatullin
f4df7ea4a0
cargo +1.56.1 update
2022-08-17 13:13:27 +03:00
Przemysław Fuchs
3acbd1c048
dd: Error message of invalid args is matched with GNU ( #3831 )
2022-08-17 11:40:42 +02:00
Terts Diepraam
a3a69cf919
uucore: add filename as argument in help_usage and help_section
...
uucore: make help_section and help_usage take an argument to select a file
2022-08-16 19:22:41 +02:00
Terts Diepraam
c8e88e1898
add help_usage
macro
2022-08-16 19:22:40 +02:00
Terts Diepraam
dedb969d75
add help file for base64
2022-08-16 19:20:37 +02:00
Terts Diepraam
2df00344f7
add help file for base32
2022-08-16 19:19:49 +02:00
Terts Diepraam
5a9380616b
Use a markdown file named after the utils for help_section
2022-08-16 19:18:38 +02:00
Terts Diepraam
c4ba21f720
move numfmt help to a separate file
2022-08-16 19:18:36 +02:00
Owen Anderson
9fad6fde35
Fix a bug in split where chunking would be skipped when the chunk size ( #3800 )
...
* Fix a bug in split where chunking would be skipped when the chunk size
happened to be an exact divisor of the buffer size used to read the
input stream.
The issue here was that file was being split byte-wise in chunks of 1G.
The input stream was being read in chunks of 8KB, which evenly divides
the chunk size. Because the check to allocate the next output chunk was
done at the bottom of the loop previously, it would never occur because
the current input chunk was fully consumed at that point. By moving the
check to the top of the loop (but still late enough that we know we have
bytes to write) we resolve this issue.
This scenario is unfortunately hard to write a test for, since we don't
explicitly control the input chunk size.
Fixes https://github.com/uutils/coreutils/issues/3790
2022-08-16 11:02:52 +02:00
Terts Diepraam
5ecabb8467
Merge pull request #3784 from jarkonik/main
...
Use `clap::ArgAction` in `true` and `false`
2022-08-16 10:50:32 +02:00
Niyaz Nigmatullin
0db17196ca
readlink: follow clippy advice, add semicolon
2022-08-16 08:30:47 +03:00
Niyaz Nigmatullin
9c97b700ec
readlink: reformat using rustfmt
2022-08-16 08:25:02 +03:00
Niyaz Nigmatullin
391143fe5b
readlink: fix -n and -z no delimiter at the end
2022-08-16 08:21:12 +03:00
Jaroslaw Konik
710e2af5fd
Check argc instead of settings exclusive flag
2022-08-15 19:50:30 +02:00
Jaroslaw Konik
025a0dfa9e
Use clap::ArgAction in true
and false
2022-08-15 19:48:02 +02:00
Niyaz Nigmatullin
0e96cfa14b
tail: fix notify usage for new version
2022-08-15 18:11:46 +03:00
dependabot[bot]
ade3b7540c
build(deps): bump notify from 5.0.0-pre.15 to 5.0.0-pre.16
...
Bumps [notify](https://github.com/notify-rs/notify ) from 5.0.0-pre.15 to 5.0.0-pre.16.
- [Release notes](https://github.com/notify-rs/notify/releases )
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md )
- [Commits](https://github.com/notify-rs/notify/compare/5.0.0-pre.15...notify-5.0.0-pre.16 )
---
updated-dependencies:
- dependency-name: notify
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 11:42:17 +00:00
5225225
c7b988c825
uutils: Remove use of mem::uninitialized ( #3808 )
2022-08-15 10:10:50 +02:00
Przemysław Fuchs
e2bab1d515
mv: fix error when moving directory to itself ( #3809 )
2022-08-15 10:10:04 +02:00
Sylvestre Ledru
00f5d91886
sha1sum: fix the -c usage ( Closes : #3815 )
2022-08-14 23:32:46 +02:00
anastygnome
1596f802f5
Rework tail plateform module in light of #2873
...
Optimize tail plateform module using the libc::stdin fd constant.
Commenting out `is_bad_symlink` as #2873 will not be fixed for the time being.
2022-08-14 13:30:57 +02:00
Jan Scheer
5258dec9a8
tail: fix race condition ( #3798 )
...
* tail: fix race condition (fix #3765 )
There exists a race condition (RC) that can occur if changes to a path
happen after the initial print loop in `uu_tail()`, but before the
path is added to the notify-Watcher thread in `follow()`.
To minimize the window where the RC can occur, this moves starting the
Watcher thread and adding paths to it from `follow()` to the initial
print loop in `uu_tail()`.
Additionally, to make sure the RC cannot happen in
"gnu/tests/tail-2/F-headers.sh", the error message that is used as a trigger
in this test, is delayed until the path is added to the Watcher thread.
* build-gnu: remove workarounds for tail
Remove workarounds for "tests/tail-2/F-headers.sh" which are
(presumably) no longer needed because of the race condition fix.
* build-gnu: remove workarounds for tail
Remove workarounds for "tests/tail-2/F-headers.sh" which are
(presumably) no longer needed because of the race condition fix.
* tail: refactor to minimize chances of RC
Move "adding paths to Watcher thread" to its own loop and run this loop
before the initial tail-print-loop in order to minimize the window for
race conditions.
2022-08-14 01:01:15 +02:00
Daniel Hofstetter
689000576b
du: remove useless transmute to fix clippy warning
2022-08-12 10:56:13 +02:00
Daniel Hofstetter
898914b6fb
touch: remove transmute to fix clippy warning
2022-08-12 10:54:59 +02:00
Daniel Hofstetter
bfa6e23166
numfmt: implement Eq to fix clippy warning
2022-08-12 07:49:05 +02:00
Daniel Hofstetter
c0c26c4c58
Replace deprecated values_of() with get_many()
2022-08-11 13:49:09 +02:00
Sylvestre Ledru
a2e0296ef2
remove some unnecessary parentheses
2022-08-10 22:58:27 +02:00
Sylvestre Ledru
9f1219005d
fix the significant_drop_in_scrutinee clippy warning
2022-08-10 21:37:48 +02:00
Sylvestre Ledru
8692301ec7
Merge pull request #3754 from ackerleytng/main
...
Add `parse_glob` module and update `du` to use `parse_glob`
2022-08-10 19:28:40 +02:00
Sylvestre Ledru
e304758f61
Merge pull request #3801 from niyaznigmatullin/sort_wait_for_signal_handling
...
sort: wait when SIGINT was raised for the program to finish properly
2022-08-10 19:26:50 +02:00
Niyaz Nigmatullin
898be12a33
sort: add comments to wait_if_signal function and its usage
2022-08-10 15:31:03 +03:00
Niyaz Nigmatullin
e43872d4c7
sort: rename lock binding variable
2022-08-10 12:20:25 +03:00
Niyaz Nigmatullin
50f1e9a5fa
sort: fix test_tmp_files_deleted_on_sigint, wait for signal handling at
...
the end of the program
2022-08-10 12:15:27 +03:00
Niyaz Nigmatullin
13e912bcbd
touch: fix error handling
2022-08-10 11:07:22 +03:00
Ackerley Tng
c2bb9596d9
du: update du to use parse_glob::from_str
2022-08-09 10:36:23 +02:00
Ackerley Tng
898689d924
du: refactor pattern building in du
2022-08-09 10:36:23 +02:00
dependabot[bot]
54840b5fe1
build(deps): bump ouroboros from 0.15.0 to 0.15.2
...
Bumps [ouroboros](https://github.com/joshua-maros/ouroboros ) from 0.15.0 to 0.15.2.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases )
- [Commits](https://github.com/joshua-maros/ouroboros/commits )
---
updated-dependencies:
- dependency-name: ouroboros
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 06:30:58 +00:00
Koutheir Attouchi
81a762ced6
Use u64
instead of ino_t
/dev_t
types
2022-08-06 02:50:19 -04:00
Terts Diepraam
fa47af73d0
Merge pull request #3774 from sylvestre/consistency
...
Add more consistency in the --help output and declarations
2022-08-04 23:53:51 +02:00
Sylvestre Ledru
d957a11f34
Add more consistency in the --help output and declarations
2022-08-04 21:53:27 +02:00
Daniel Hofstetter
07b218e55a
Replace possible_values() with value_parser()
2022-08-04 14:38:10 +02:00
Pierre Marsais
e1991525af
cp: Implement --sparse
flag ( #3766 )
...
* cp: Refactor `reflink`/`sparse` handling to enable `--sparse` flag
`--sparse` and `--reflink` options have a lot of similarities:
- They have similar options (`always`, `never`, `auto`)
- Both need OS specific handling
- They can be mutually exclusive
Prior to this change, `sparse` was defined as `CopyMode`, but `reflink`
wasn't. Given the similarities, it makes sense to handle them similarly.
The idea behind this change is to move all OS specific file copy
handling in the `copy_on_write_*` functions. Those function then
dispatch to the correct logic depending on the arguments (at the moment,
the tuple `(reflink, sparse)`).
Also, move the handling of `--reflink=never` from `copy_file` to the
`copy_on_write_*` functions, at the cost of a bit of code duplication,
to allow `copy_on_write_*` to handle all cases (and later handle
`--reflink=never` with `--sparse`).
* cp: Implement `--sparse` flag
This begins to address #3362
At the moment, only the `--sparse=always` logic matches the requirement
form GNU cp info page, i.e. always make holes in destination when
possible.
Sparse copy is done by copying the source to the destination block by
block (blocks being of the destination's fs block size). If the block
only holds NUL bytes, we don't write to the destination.
About `--sparse=auto`: according to GNU cp info page, the destination
file will be made sparse if the source file is sparse as well. The next
step are likely to use `lseek` with `SEEK_HOLE` detect if the source
file has holes. Currently, this has the same behaviour as
`--sparse=never`. This `SEEK_HOLE` logic can also be applied to
`--sparse=always` to improve performance when copying sparse files.
About `--sparse=never`: from my understanding, it is not guaranteed that
Rust's `fs::copy` will always produce a file with no holes, as
["platform-specific behavior may change in the
future"](https://doc.rust-lang.org/std/fs/fn.copy.html#platform-specific-behavior )
About other platforms:
- `macos`: The solution may be to use `fcntl` command `F_PUNCHHOLE`.
- `windows`: I only see `FSCTL_SET_SPARSE`.
This should pass the following GNU tests:
- `tests/cp/sparse.sh`
- `tests/cp/sparse-2.sh`
- `tests/cp/sparse-extents.sh`
- `tests/cp/sparse-extents-2.sh`
`sparse-perf.sh` needs `--sparse=auto`, and in particular a way to skip
holes in the source file.
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2022-08-04 13:22:59 +02:00
Pierre Marsais
90a9829287
cp: truncate destination when --reflink
is set ( #3759 )
...
* cp: truncate destination when `--reflink` is set
This is needed in order to allow overriding an existing file.
```
$ truncate -s 512M /tmp/disk.img
$ mkfs.btrfs /tmp/disk.img
[...]
$ mkdir /tmp/disk
$ sudo mount /tmp/disk.img /tmp/disk
$ sudo chown $(id -u):$(id -g) -R /tmp/disk
$ for i in $(seq 0 8192); do echo -ne 'a' >>/tmp/disk/src1; done
$ echo "success" >/tmp/disk/src2
$
$ # GNU ls supports overriding files created with `--reflink`
$ cp --reflink=always /tmp/disk/src1 /tmp/disk/dst1
$ cp --reflink=always /tmp/disk/src2 /tmp/disk/dst1
$ cat /tmp/disk/dst1
success
$
$ # Now testing with uutils
$ cargo run cp --reflink=always /tmp/disk/src1 /tmp/disk/dst2
Finished dev [unoptimized + debuginfo] target(s) in 0.25s
Running `target/debug/coreutils cp --reflink=always /tmp/disk/src1 /tmp/disk/dst2`
$ cargo run cp --reflink=always /tmp/disk/src2 /tmp/disk/dst2
Finished dev [unoptimized + debuginfo] target(s) in 0.26s
Running `target/debug/coreutils cp --reflink=always /tmp/disk/src2 /tmp/disk/dst2`
cp: failed to clone "/tmp/disk/src2" from "/tmp/disk/dst2": Invalid argument (os error 22)
$ cat /tmp/disk/dst2
[lots of 'a']
$
$ # With truncate(true)
$ cargo run cp --reflink=always /tmp/disk/src1 /tmp/disk/dst3
Finished dev [unoptimized + debuginfo] target(s) in 7.98s
Running `target/debug/coreutils cp --reflink=always /tmp/disk/src1 /tmp/disk/dst3`
$ cargo run cp --reflink=always /tmp/disk/src2 /tmp/disk/dst3
Finished dev [unoptimized + debuginfo] target(s) in 0.27s
Running `target/debug/coreutils cp --reflink=always /tmp/disk/src2 /tmp/disk/dst3`
$ cat /tmp/disk/dst3
success
```
2022-08-04 08:50:19 +02:00
Daniel Hofstetter
7c3116330e
Replace deprecated is_present() with contains_id()
2022-08-02 15:21:39 +02:00
Sylvestre Ledru
c660fc700f
Merge pull request #3757 from cakebaker/clap_update
...
bump clap from 3.1.18 to 3.2.15
2022-08-02 09:56:01 +02:00
Sylvestre Ledru
dba21d5ee0
Merge pull request #3763 from uutils/dependabot/cargo/sha3-0.10.2
...
build(deps): bump sha3 from 0.10.1 to 0.10.2
2022-08-02 09:54:39 +02:00
Sylvestre Ledru
9b81e09f7a
Merge pull request #3764 from cakebaker/numfmt_preserve_trailing_zeros
...
numfmt: preserve trailing zeros
2022-08-01 13:32:55 +02:00
Daniel Hofstetter
e642ca90dd
numfmt: preserve trailing zeros
2022-08-01 09:48:13 +02:00
dependabot[bot]
92778de1f4
build(deps): bump sha3 from 0.10.1 to 0.10.2
...
Bumps [sha3](https://github.com/RustCrypto/hashes ) from 0.10.1 to 0.10.2.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/sha3-v0.10.1...sha3-v0.10.2 )
---
updated-dependencies:
- dependency-name: sha3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 06:39:05 +00:00
Pierre Marsais
4ad0d5c5a3
ls: Implement --zero flag. ( #2929 ) ( #3746 )
...
* ls: Implement --zero flag. (#2929 )
This flag can be used to provide a easy machine parseable output from
ls, as discussed in the GNU bug report
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49716 .
There are some peculiarities with this flag:
- Current implementation of GNU ls of the `--zero` flag implies some
other flags. Those can be overridden by setting those flags after
`--zero` in the command line.
- This flag is not compatible with `--dired`. This patch is not 100%
compliant with GNU ls: GNU ls `--zero` will fail if `--dired` and
`-l` are set, while with this patch only `--dired` is needed for the
command to fail.
We also add `--dired` flag to the parser, with no additional behaviour
change.
Testing done:
```
$ bash util/build-gnu.sh
[...]
$ bash util/run-gnu-test.sh tests/ls/zero-option.sh
[...]
PASS: tests/ls/zero-option.sh
============================================================================
Testsuite summary for GNU coreutils 9.1.36-8ec11
============================================================================
# TOTAL: 1
# PASS: 1
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
============================================================================
```
* Use the US way to spell Behavior
* Fix formatting with cargo fmt -- tests/by-util/test_ls.rs
* Simplify --zero flag overriding logic by using index_of
Also, allow multiple --zero flags, as this is possible with GNU ls
command. Only the last one is taken into account.
Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
2022-07-31 19:02:50 +02:00
Sylvestre Ledru
38679f1c1b
Merge pull request #3751 from cakebaker/numfmt_format
...
numfmt: implement --format
2022-07-29 18:40:18 +02:00
Daniel Hofstetter
fc4544c42b
bump clap from 3.1.18 to 3.2.15
2022-07-29 14:05:02 +02:00
Sylvestre Ledru
35f6e2a53a
Merge pull request #3749 from uutils/dependabot/cargo/lscolors-0.11.0
...
build(deps): bump lscolors from 0.10.0 to 0.11.0
2022-07-28 21:56:41 +02:00
Owen Anderson
8bdee49cdd
Speed up sum by using reasonable read buffer sizes. ( #3741 )
...
* Speed up sum by using reasonable read buffer sizes.
Use a 4K read buffer for each of the checksum functions, which seems
reasonable. This improves the performance of BSD checksums on
odyssey1024.txt from 399ms to 325ms on my laptop, and of SysV
checksums from 242ms to 67ms.
* Add BENCHMARKING.md for `sum`.
* Add comment regarding block sizes.
* Improve portability of BENCHMARKING.md
* Make `div_ceil` const and enhance comment.
2022-07-28 14:38:09 +02:00
Daniel Hofstetter
ee13bc41e7
numfmt: implement --format
2022-07-28 09:59:30 +02:00
dependabot[bot]
0a8d0eaf6e
build(deps): bump lscolors from 0.10.0 to 0.11.0
...
Bumps [lscolors](https://github.com/sharkdp/lscolors ) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/sharkdp/lscolors/releases )
- [Commits](https://github.com/sharkdp/lscolors/compare/v0.10.0...v0.11.0 )
---
updated-dependencies:
- dependency-name: lscolors
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-28 06:51:09 +00:00
Sam Nystrom
4e72e284b5
ls: silently ignore -T
option ( #3718 )
...
* ls: silently ignore `-T` option
2022-07-26 10:35:43 +02:00
Niyaz Nigmatullin
e5fc8bca8d
basenc: fix error code on on wrong arguments, fix usage printing test
2022-07-25 23:12:10 +03:00
Sylvestre Ledru
2fa4d6a2bb
Merge pull request #3740 from resistor/main
...
Implement wc fast paths that skip Unicode decoding.
2022-07-25 21:15:13 +02:00
Daniel Hofstetter
34b4853890
numfmt: don't round floats if --from is "none"
2022-07-24 16:25:52 +02:00
Sylvestre Ledru
62305e67d1
Merge pull request #3719 from andrewbaptist/main
...
split: Don't overwrite files
2022-07-23 22:54:57 +02:00
Owen Anderson
d5f59f23fa
Implement wc fast paths that skip Unicode decoding.
...
Byte, character, and line counting can all be done on the raw bytes
of the incoming stream without decoding the Unicode characters. This
fact was previously exploited in specific fast paths for counting
characters and counting lines. This change unifies those fast paths into
a single shared fast paths, using const generics to specialize the
function for each use case. This has the benefit of making sure that all
combinations of these Unicode-oblivious fast paths benefit from the same
optimization.
On my laptop, this speeds up `wc -clm odyssey1024.txt` from 840ms to
120ms. I experimented with using a filter loop for line counting, but
continuing to use the bytecount crate came out ahead by a significant
margin.
2022-07-23 10:45:26 -07:00
Sylvestre Ledru
ec9130a4d7
Merge pull request #3735 from resistor/main
...
Implement a fast path for character counting in wc.
2022-07-22 13:29:47 +02:00
Niyaz Nigmatullin
5f3f1112d1
Basename arguments simple format ( #3736 )
...
* basename: support simple format
* tests/basename: add tests for simple format
* basename: follow clippy advice
2022-07-22 13:28:54 +02:00
John Eckersberg
282b368b28
nice: Move call to Errno::clear() outside of unsafe block
...
Minor nitpick (of my own previous patch!), Errno::clear() is a safe
function, it should not be inside of the unsafe block.
2022-07-21 15:57:21 -04:00
Andrew Baptist
f2cfc15a70
split: Don't overwrite files
...
Check that a file exists by calling create_new and changing the
interface of instantiate_current_writer to return a Result rather
than calling unwrap.
2022-07-21 12:06:13 -04:00
Owen Anderson
417ad0e384
Add rustdoc comment.
2022-07-20 23:32:50 -07:00
Owen Anderson
13762cae05
Implement a fast path for character counting in wc.
...
When wc is invoked with only the -m flag, we only need to count the
number of Unicode characters in the input. In order to do so, we don't
actually need to decode the input bytes into characters. Rather, we can
simply count the number of non-continuation bytes in the UTF-8 stream,
since every character will contain exactly one non-continuation byte.
On my laptop, this speeds up `wc -m odyssey1024.txt` from 745ms to
109ms.
2022-07-20 22:35:40 -07:00
Sylvestre Ledru
ba24565b60
Merge pull request #3732 from cakebaker/numfmt_auto_suf_si_i
...
numfmt: show "invalid suffix" error for "i" suffix
2022-07-20 22:51:14 +02:00
Daniel Hofstetter
74bd9a26d6
numfmt: show "invalid suffix" error for "i" suffix
2022-07-20 17:51:36 +02:00
Niyaz Nigmatullin
9f2a9fa6ff
uucore/fs: make function more generic
2022-07-19 17:34:52 +03:00
Niyaz Nigmatullin
b76c53c090
ln: fix windows non-compiling code
2022-07-19 17:34:52 +03:00
Niyaz Nigmatullin
80ff3b3b40
ln: change error messages, extract common code
2022-07-19 17:34:52 +03:00