Commit graph

1398 commits

Author SHA1 Message Date
Andreas Hartmann
a85adf3c3f install: Internally rename short '-b' option
Rename from OPT_BACKUP_2 to a more descriptive name "OPT_BACKUP_NO_ARGS".
2021-06-26 00:27:08 +02:00
Andreas Hartmann
3155cd510f install: Fix argument parsing for '--backup'
The '--backup' option would previously accept arguments separated from the
option either by a space or an equals sign. The GNU implementation strictly
requires an "equals" for argument separation.

As the argument to '--backup' is optional, the equals sign mustn't be ommited
as otherwise there is no way to tell a file argument apart from an argument
that's meant for the '--backup' option. This ensures that if '--backup' is
present it either has no further associated arguments (i.e. fallback to the
default), or the arguments are separated by an equals sign.
2021-06-26 00:27:08 +02:00
Michael Debertol
73cfcc27e7 cp: insert some spaces into the help text 2021-06-25 21:23:45 +02:00
Michael Debertol
2e027bf45d true, false: enable --help and --version 2021-06-25 21:23:45 +02:00
Michael Debertol
0fec449de3 mkfifo: make rustfmt work 2021-06-25 21:23:45 +02:00
Michael Debertol
a8d62b9b23 fmt: fix indentation for help 2021-06-25 21:23:45 +02:00
Michael Debertol
0531153fa6 uutils: move clap::App creation to separate functions 2021-06-25 21:23:45 +02:00
Michael Debertol
004b5d1b38 format: formatting 2021-06-25 19:35:33 +02:00
Michael Debertol
548a895cd6 sort: compatibility of human-numeric sort
Closes #1985.
This makes human-numeric sort follow the same algorithm as GNU's/FreeBSD's sort.
As documented by GNU in https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html,
we first compare by sign, then by si unit and finally by the numeric value.
2021-06-25 18:19:00 +02:00
Sylvestre Ledru
fef8761ac1
Merge pull request #2443 from miDeb/sort/data-oriented
sort: separate additional data from the Line struct
2021-06-24 21:19:23 +02:00
Sylvestre Ledru
ab5d581fa4
Merge pull request #2439 from tertsdiepraam/numfmt/round-and-c-locale
`numfmt`: add `--round` and other minor improvements
2021-06-24 21:18:59 +02:00
Sylvestre Ledru
5d7cf61128
Merge pull request #2429 from miDeb/install/target-dir
install: support --target-directory
2021-06-24 21:06:44 +02:00
Michael Debertol
8bebfbb3e6 sort: don't store slices for general numeric sort
Gerenal numeric sort works by comparing pre-parsed floating point
numbers. That means that we don't have to store the &str the float was
parsed from.

As a result, memory usage was slightly reduced for general numeric sort.
2021-06-24 18:33:33 +02:00
Sylvestre Ledru
3b2d0d17fa
Merge pull request #2446 from jhscheer/groups_gnu_testsuite
groups: fixes to pass GNU's Testsuite
2021-06-23 20:15:12 +02:00
Sylvestre Ledru
44c770d234
Merge pull request #2450 from jhscheer/id_refactor_identifier
id: refactor identifiers
2021-06-23 19:05:57 +02:00
Jan Scheer
11f36eae3b tests/groups: fix/add tests for (multiple) username(s) 2021-06-23 16:50:03 +02:00
Sylvestre Ledru
d40fc65ee6
Merge branch 'master' into numfmt/round-and-c-locale 2021-06-23 12:39:55 +02:00
Sylvestre Ledru
a73e71ba74
Merge pull request #2437 from miDeb/cp/reflink-auto
cp: default to --reflink=auto on linux and macos
2021-06-23 12:37:44 +02:00
Sylvestre Ledru
87eaf6e80a
Merge pull request #2447 from jhscheer/locale_c
fix some issues with locale (replace "LANGUAGE" with "LC_ALL")
2021-06-23 12:36:40 +02:00
Jan Scheer
4b3da59b0e id: refactor identifiers
* change of identifier names and spelling according to the suggestions in the review of #2446
2021-06-23 12:27:01 +02:00
Jan Scheer
c0be979611 fix some issues with locale (replace "LANGUAGE" with "LC_ALL")
`LANGUAGE=C` is not enough, `LC_ALL=C` is needed as the environment
variable that overrides all the other localization settings.

e.g.
```bash
$ LANGUAGE=C id foobar
id: ‘foobar’: no such user

$ LC_ALL=C id foobar
id: 'foobar': no such user
```

* replace `LANGUAGE` with `LC_ALL` as environment variable in the tests
* fix the the date string of affected uutils
* replace `‘` and `’` with `'`
2021-06-23 11:30:28 +02:00
Sylvestre Ledru
178399c20e
Merge pull request #2449 from miDeb/temp-win
Make tests pass on a windows VM
2021-06-23 08:40:30 +02:00
Michael Debertol
d60afb8947 mkdir: note that -m is not supported on windows 2021-06-23 00:59:51 +02:00
Michael Debertol
4a956f38b9 sort: separate additional data from the Line struct
Data that was previously boxed inside the `Line` struct was moved to
separate vectors. Inside of each `Line` remains only an index that
allows to access that data.
This helps with keeping the `Line` struct small and therefore reduces
memory usage in most cases.
Additionally, this improves performance because one big allocation (the
vectors) are faster than many small ones (many boxes inside of each
`Line`). Those vectors can be reused as well, reducing the amount of
(de-)allocations.
2021-06-23 00:36:05 +02:00
Michael Debertol
622504467f mktemp: note that windows uses a different env var for tmpdir
On windows `std::env::temp_dir` uses the `TMP` environment variable
instead of `TMPDIR`.
2021-06-22 17:44:45 +02:00
Sylvestre Ledru
e48ff9dd9e
Merge pull request #2441 from siebenHeaven/ls_dangling_symlinks
ls: Fix problems dealing with dangling symlinks
2021-06-21 22:34:15 +02:00
Sylvestre Ledru
a982030032
Merge pull request #2386 from youknowone/dircolors-double-scan
Prevent double scanning from dircolors
2021-06-21 22:31:24 +02:00
Sylvestre Ledru
97ce44b102
Merge pull request #2407 from hbina/hbina-more-terminal-resize
Improvements to `more`.
2021-06-21 22:30:07 +02:00
Anup Mahindre
4b3224dd82
ls: Fix clippy warning 2021-06-21 20:29:22 +05:30
Jan Scheer
25ef39472c groups: fix to pass GNU Testsuite groups-process-all.sh
* add support for multiple users
* sync help text with GNU's `groups` manpage
2021-06-21 14:33:09 +02:00
Jan Scheer
30e45eefa4 groups: fix to pass GNU Testsuite groups-dash.sh 2021-06-21 13:19:57 +02:00
Rémi Lauzier
6aa79440f5
Fix a clippy warning 2021-06-20 21:21:50 -04:00
Michael Debertol
a91369bbff cp: fix dead code warnings on windows 2021-06-20 19:10:51 +02:00
Anup Mahindre
3b641afadc ls: Fix issue with Windows and dangling symbolic links
- Windows hidden file attribute determination would assume symbolic link
  to be valid and would panic
- Check symbolic link's attributes if the link points to non-existing
  file
2021-06-20 16:56:25 +05:30
Terts Diepraam
5ac0274c13 numfmt: fix doctest and spell check 2021-06-20 11:50:14 +02:00
Anup Mahindre
f6cb1324b6 ls: Fix problems dealing with dangling symlinks
- For dangling symlinks, errors should only be reported if
dereferencing options were passed and dereferencing was applicable to
the particular symlink
- With -i parameter, report '?' as the inode number for dangling
symlinks
2021-06-20 13:31:45 +05:30
Terts Diepraam
3086e95702 numfmt: add round and use C locale style for errors 2021-06-20 00:21:14 +02:00
Sylvestre Ledru
115eb5eb52
Merge pull request #2432 from dezgeg/test-bracket-syntax
test: Implement [ expr ] syntax
2021-06-19 19:14:20 +02:00
Michael Debertol
076c7fa501 cp: default to --reflink=auto on linux and macos 2021-06-19 18:59:57 +02:00
Michael Debertol
9fb927aa85 cp: always delete the destination for symlinks 2021-06-19 18:59:57 +02:00
Michael Debertol
6400cded54 cp: fix order of checks in copy_helper 2021-06-19 18:59:57 +02:00
Tuomas Tynkkynen
7b9814c778 test: Implement [ expr ] syntax
When invoked via '[' name, last argument must be ']' or we bail out with
syntax error. Then the trailing ']' is simply disregarded and processing
happens like usual.
2021-06-19 18:49:21 +03:00
Sylvestre Ledru
5ba69d4a35
Merge pull request #2412 from syukronrm/du-dereference
du: add `--dereference`
2021-06-19 12:05:18 +02:00
Sylvestre Ledru
ac98960f32
Merge pull request #2427 from miDeb/ln/recursive-relative
ln: don't return an empty path in `relative_path`
2021-06-19 12:03:59 +02:00
Sylvestre Ledru
65fe9beaad
bring back #[cfg(windows)] 2021-06-19 08:58:33 +02:00
Sylvestre Ledru
e2a00b67ed
Merge pull request #2428 from jhscheer/cut_2424
cut: fix `-d=` (#2424)
2021-06-19 08:46:42 +02:00
Sylvestre Ledru
7739080e6e
Merge pull request #2430 from tertsdiepraam/cp/update-options
`cp`: use `options` module and update list op implemented args
2021-06-18 18:50:36 +02:00
Sylvestre Ledru
54ccfdfd9f
Merge pull request #2413 from deantvv/ls-show-control-if-tty
ls: set show-control-char if stdout is terminal
2021-06-18 18:26:22 +02:00
Terts Diepraam
f1e043ca1b
Merge pull request #2361 from jhscheer/id_zero_2351
id: revamp to pass more of GNU's Testsuite
2021-06-18 18:10:49 +02:00
Terts Diepraam
14520fb64e cp: remove redundant newline in readme 2021-06-18 18:00:27 +02:00
Terts Diepraam
fdfa44cb5c Merge branch 'master' into cp/update-options 2021-06-18 17:59:13 +02:00
Terts Diepraam
ab3f2cb672 cp: update list of implemented arguments 2021-06-18 17:56:22 +02:00
Terts Diepraam
cf1a7d0796 cp: use options module 2021-06-18 17:56:04 +02:00
Terts Diepraam
e273cb8e4f
Merge pull request #2426 from miDeb/cp/symlinks
cp: improve symlink handling
2021-06-18 17:27:50 +02:00
Michael Debertol
4e62c9db71 install: support target-directory 2021-06-18 16:45:36 +02:00
Jan Scheer
65f47be5ee cut: fix -d= (#2424) 2021-06-18 12:10:40 +02:00
Michael Debertol
3d3af5c8ca ln: don't return an empty path in relative_path 2021-06-18 11:53:29 +02:00
Michael Debertol
a371c03431 cp: only get the current directory once 2021-06-18 11:48:13 +02:00
Michael Debertol
32526e3048 cp: one more clippy fix 2021-06-18 11:45:04 +02:00
Michael Debertol
315bfd65a3 cp: move symlink check to the right place 2021-06-18 11:44:39 +02:00
Tuomas Tynkkynen
d05964a8cb test: Implement -k
parser.rs already accepts this, finish the implementation.
2021-06-18 00:03:08 +03:00
Michael Debertol
12a1c87cb8 cp: improve symlink handling 2021-06-17 22:26:13 +02:00
Dean Li
c73ba1630e
ls: set show-control-char if stdout is terminal 2021-06-17 19:55:21 +08:00
Terts Diepraam
439b7e0ca5
Merge pull request #2415 from miDeb/touch/date-epoch
touch: support @<timestamp> date format
2021-06-17 10:36:03 +02:00
Syukron Rifail M
bc8415c9db du: add --dereference 2021-06-17 14:06:41 +07:00
Michael Debertol
816c55dce4 sort: avoid sigpipe errors
By calling `unwrap` we get a panic instead of an abort, and since we
mute sigpipe panics for all utilites, no error message will be printed.
2021-06-17 00:06:39 +02:00
Terts Diepraam
ce6d439a1b
Merge pull request #2381 from miDeb/sort/merge-improvements
sort: delete temporary files as soon as possible
2021-06-17 00:00:59 +02:00
Jan Scheer
39aa5312ed id/tests: skip tests for multiple_user feature if there's not at least coreutils id version 8.31 in $PATH 2021-06-16 23:52:55 +02:00
Jan Scheer
88367c6fb4 Merge branch 'fix_getgrouplist' into id_zero_2351 2021-06-16 19:20:34 +02:00
Jan Scheer
54cbb69d37 id/tests: fix tests if run on macOS 2021-06-16 19:16:29 +02:00
Michael Debertol
4c5ee1dbd7 tty: correct exit code for write errrors 2021-06-16 17:55:48 +02:00
Michael Debertol
3c271304f5 tty: correct exit code for wrong args 2021-06-16 17:43:38 +02:00
Hanif Bin Ariffin
2a7209116d Fixed cp --preserve accepting no args
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-06-16 11:26:52 +08:00
Michael Debertol
84affa2137 touch: support @<timestamp> date format
parse `@<seconds since epoch>` as a valid date.
2021-06-15 22:43:40 +02:00
Michael Debertol
4bd556d58e sort: better convey that the return value should be ignored 2021-06-15 19:09:22 +02:00
Michael Debertol
6979b707c0 sort: fix clippy lints 2021-06-15 19:09:22 +02:00
Michael Debertol
047ced2c7f sort: increase default merge batch size
I think we can attempt to open 32 files concurrently on all systems
without risking resource exhaustion.
2021-06-15 19:09:22 +02:00
Michael Debertol
6a3c1c19d9 sort: remove needless allow 2021-06-15 19:09:22 +02:00
Michael Debertol
956ff57e2e sort: delete temporary files as soon as possible
- When we have finished reading from a temproary file, we can immediately
delete it.
- Use one single directory for all temporary files.
- Only create the temporary directory when needed.
- Also compress temporary files created by the merge step if requested.
2021-06-15 19:09:22 +02:00
Daniel Rocco
22fbf16b2c test: implement user, group ownership checks
closes #2337
2021-06-14 14:30:17 -04:00
Terts Diepraam
553f70b06a
Merge pull request #2408 from Foryah/issue-2346
touch: change the error message to match the GNU error message #2346
2021-06-14 13:43:44 +02:00
David Suilea
25240ba61c
touch: change the error message to match the GNU error message #2346 2021-06-14 13:03:14 +02:00
Terts Diepraam
dfe0314d8d
Merge pull request #2397 from miDeb/sort/args
sort: refactor command line arguments
2021-06-14 12:49:19 +02:00
Terts Diepraam
05c8883b1a
Merge pull request #2395 from miDeb/timeout/cmd-args
timeout: handle arguments for the command to run
2021-06-14 12:01:31 +02:00
Michael Debertol
13458b4806 sort: use values_of 2021-06-14 11:39:26 +02:00
Michael Debertol
7acb9373a6 kill: fix signal table printing 2021-06-14 11:10:41 +02:00
Jan Scheer
052202ca19 Merge branch 'master' into id_zero_2351 2021-06-13 11:30:43 +02:00
Jan Scheer
b4c47cc5bd id: make id pass GNU's testssuite for "tests/id/uid.sh" and
"tests/id/zero.sh"
2021-06-13 11:12:53 +02:00
Anup Mahindre
da7b02cf9d du: Refactor threshold handling 2021-06-12 23:12:44 +05:30
Anup Mahindre
d6181ce7d4 du: Add threshold argument support
- Add --threshold parameter and corresponding logic to skip listing
entires that don't adhere to the threshold
2021-06-12 19:56:05 +05:30
Hanif Bin Ariffin
083e745976 Simplified page down implementation
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-06-12 20:34:21 +08:00
Hanif Bin Ariffin
9ed5091be6 Fixed hanging with smaller content
Using 'seq 10 | cargo run -- more' should no longer hangs.

Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-06-12 20:30:15 +08:00
Michael Debertol
af6e92e012 Merge branch 'master' of https://github.com/uutils/coreutils into sort/args 2021-06-12 13:16:46 +02:00
Michael Debertol
a69c2d52f9 Merge branch 'master' of https://github.com/uutils/coreutils into timeout/cmd-args 2021-06-12 13:14:16 +02:00
Michael Debertol
a57313f01b core: represent signal values by their index 2021-06-12 13:12:15 +02:00
Hanif Bin Ariffin
28c6fad6e3 Now displays the unknown key entered
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-06-12 18:25:14 +08:00
Hanif Bin Ariffin
ee6419f11c Fixing display when resizing terminal
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-06-12 18:11:12 +08:00
Hanif Bin Ariffin
63ee42826b Fixed numeric type
1. Its better to bump u16 to usize than the other way round.
2. Highly unlikely to have a terminal with usize rows...makes making sense of the code easier.

Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-06-12 18:02:31 +08:00
Hanif Bin Ariffin
b335e7f2ae Now stops at the last line first. Press down again to go to next file or quit
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-06-12 17:57:35 +08:00
Terts Diepraam
440eba628c
Merge pull request #2338 from miDeb/ln/dst-symlink
ln: canonicalize the parent directory of the destination, not the destination itself
2021-06-12 11:28:19 +02:00